API compatibility

curses (libocurses) interface

On UnixWare 7, SCO OpenServer and SCO UnixWare 2.1.X, the standard curses library is the UNIX System V Release 4 (SVR4) curses library, libcurses.a. SCO OpenServer and SCO UnixWare 2.1.X binary applications that use the standard curses libraries on those systems will execute as expected on UnixWare 7.

While all the same function names are supported, and these functions all have the same semantics on the two systems, there are slight differences in:

used by the various systems.

These are detailed in the next few sections of this topic.

With UnixWare 7.0.1, libcurses.a now contains the X/Open curses library, compliant with The Single UNIX Specification, Version 2. The SVR4 curses library has been moved to libocurses.a. Applications using the SVR4 curses library should change to use the -locurses cc option, and include the header files ocurses.h and oterm.h. See Intro(3ocurses).

curses header files

On UnixWare, the SVR4 curses interfaces are defined in /usr/lib/ocurses.h.

On SCO OpenServer, curses.h is a wrapper that reads in either of tcap.h or tinfo.h, depending on whether the application is compiled with termcap or terminfo support (termcap is not supported on UnixWare). Since most applications are simply compiled with #include curses.h, this should not present a compatibiliy problem unless the lower level header files are included directly.

terminfo and termcap databases

These files define terminal characteristics and are used by various libraries and programs (for example, the curses library routines and the vi editor) to perform screen management functions.

The SCO UnixWare 2.1.X terminfo and termcap databases have been brought forward to UnixWare 7, with some work done to include entries unique to SCO OpenServer and provide SCO OpenServer-compatible behavior. The location and format are the same on all systems. There are no known compatibility impacts for these databases.

See oldterminfo(4) and terminfo(4).

X/Open curses (formerly libstdcurses) library

Also provided in UnixWare 7 was a new version of the curses library, libstdcurses.a, that complies with the X/Open Curses, Issue 4 specification found in The Single UNIX Specification, Version 2. It was compiled using -lstdcurses and used the stdcurses.h and stdterm.h header files.

For UnixWare 7.0.1, this library has been moved to libcurses.a and is now the standard curses library.

To compile a program using these interfaces, include the following header files in your source code:

   #include curses.h
   #include term.h
and link to the X/Open curses library using:
   cc -lcurses ...

This library is supported on SCO UnixWare 2.1.X and UnixWare 7.0.1, but not supported on SCO OpenServer. For more information, see the Section 3ocurses manual pages.

Next topic: BSD database management (libdbm and libndbm) interface
Previous topic: Termios and termio interfaces

© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 27 April 2004