HP 3000 Manuals

Curses Library Now Available on MPE/iX [ COMMUNICATOR 3000 MPE/iX Release 5.0 (Core Software Release X.50.20) ] MPE/iX Communicators


COMMUNICATOR 3000 MPE/iX Release 5.0 (Core Software Release X.50.20)

Curses Library Now Available on MPE/iX 

by Rachel Schwab 
Commercial Systems Division 

Product Overview 

Curses/iX, a library of cursor and keyboard control functions, is part of
the Fundamental Operating System (FOS) for this MPE/iX release.  The
documentation for this library is included in the MPE/iX Developer's Kit 
Reference Manual, Vol.  2  (36430-90002).

Curses is a defacto standard available on many different systems; its
routines can be used to draw screens and collect user input from the
keyboard.  It accesses the terminfo facility to determine how to tailor
terminal interactions to a particular terminal type.  The TIC and UNTIC
utilities, also included in FOS, can be used to compile and decompile
terminfo files.

An initial version of Curses/iX, A.00.00, was submitted to MPE/iX 4.5.  A
new version of Curses/iX, A.00.01, is available on this MPE/iX release.
This version contains numerous bug fixes, working TIC and UNTIC
utilities, and support for DTC field mode.  If you are using Curses/iX
A.00.00, you should ask your HP support representative for the latest
Curses/iX patch so you can take advantage of the improvements this new
version offers.

Terminal Type and Terminfo Support 

In the A.00.00 version of Curses/iX it was necessary to set the TERM
environment variable before attempting to run any Curses/iX application.
In this version, TERM defaults to hp2392a, so if you are using an HP
terminal (2392, 2394, 2397, 700/92, 700/94, 700/96, 700/98), you do not
need to set this variable.  If you are using VT (DEC) emulation, you will
need to set TERM to ansi.  If you are running an application outside of
the POSIX.2 shell, you must create a CI variable TERM with the value at
ansi.

For completeness, the entire terminfo database is available; however
Hewlett-Packard only explicitly supports the ansi and hp2392a terminal
descriptor files.  You may want to delete unnecessary terminfo files
after system installation completes to save disk space.

Supported Terminal Configurations 

Curses/iX is only explicitly supported when run from a terminal or
personal computer directly connected to an MPE/iX system via a DTC. The
DTC hardware can be old or new; however, Curses/iX field mode
enhancements will only work with new DTC hardware.

While Curses/iX is not explicitly supported from a workstation hpterm
window, your Curses/iX applications can run successfully from these
windows.

Additionally, your Curses/iX applications can work successfully when run
on an MPE/iX system (on MPE/iX Release 4.0 or later) that you have
VT-connected to from another MPE/iX system (on MPE/iX Release 4.0 or
later).

Curses/iX Programmer's Environment 

You should be aware of a few unique aspects of Curses/iX.

The Curses/iX library is a relocatable library.   

The Curses/iX library is a relocatable, not an executable library.  This
means that Curses/iX routines must be linked into the program at link
time instead of loaded at run time.

A tracing library is available.   

The Curses/iX library submitted to this release does not contain tracing
code.  If you want to use the Curses/iX tracing facility, you should
contact your HP support representative and ask for the Curses/iX tracing
library.

Curses/iX Standards Compliance 

Curses/iX is XPG3 compliant with extensions taken from System V Release
4; not all of System V Release 4 Curses is present.  Most of what is
missing is color support functions, the slk_xxx family of functions, the
obscure window sync functions, wvline(), whline(), pechochar(), and a few
others.  The terminfo database is complete.

Partially implemented and totally unimplemented functions.   

These functions can be grouped into four categories:

   1.  Functions which require GTI (general terminal interface), which is
       not yet implemented on MPE: nodelay(), typeahead(), nocbreak(),
       intrflush(), nl(), and nonl().

   2.  Functions which are stubs for the termcap database:  tgetent(),
       tgetflag(), tgetnum(), tgetstr(), and tgoto().  These have been
       superceded by terminfo functions.  See the documentation for
       references to the newer functions.

   3.  The napms() function; this function is a stub since MPE cannot
       sleep in millisecond increments until the Posix.4 API is
       available.

   4.  Color functions:  start_color(), init_color(), init_pair(), 
       color_pair(), pair_content().



MPE/iX Communicators