Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

termcap(4)

terminfo(4)

curses(3X)



termcap(3X)                                           termcap(3X)



NAME
     tgetent, tgetnum, tgetflag, tgetstr, tgoto, tputs - terminal
     independent operation routines

SYNOPSIS
     char PC;
     char *BC;
     char *UP;
     short ospeed;

     tgetent(bp, name)
     char *bp, *name;

     tgetnum(id)
     char *id;

     tgetflag(id)
     char *id;

     char *
     tgetstr(id, area)
     char *id, **area;

     char *
     tgoto(cm, destcol, destline)
     char *cm;

     tputs(cp, affcnt, outc)
     register char *cp;
     int affcnt;
     int (*outc)();

DESCRIPTION
     These functions extract and use capabilities from the termi-
     nal capability data base termcap(4).  These are low level
     routines.

     Tgetent extracts the entry for terminal name into the buffer
     at bp. Bp should be a character buffer of size 1024 and must
     be retained through all subsequent calls to tgetnum, tget-
     flag, and tgetstr.  Tgetent returns -1 if it cannot open the
     termcap file, 0 if the terminal name given does not have an
     entry, and 1 if all goes well.  It will look in the environ-
     ment for a TERMCAP variable.  If found, and the value does
     not begin with a slash, and the terminal type name is the
     same as the environment string TERM, the TERMCAP string is
     used instead of reading the termcap file.  If it does begin
     with a slash, the string is used as a path name rather than
     /usr/lib/termcap.  This can speed up entry into programs
     that call tgetent, as well as to help debug new terminal
     descriptions or to make one for your terminal if you can't
     write the file /usr/lib/termcap.



Page 1                        CX/UX Programmer's Reference Manual





termcap(3X)                                           termcap(3X)



     Tgetnum gets the numeric value of capability id, returning
     -1 if is not given for the terminal.  Tgetflag returns 1 if
     the specified capability is present in the terminal's entry,
     0 if it is not.  Tgetstr gets the string value of capability
     id, placing it in the buffer at area, advancing the area
     pointer.  It decodes the abbreviations for this field
     described in termcap(4), except for cursor addressing and
     padding information.

     Tgoto returns a cursor addressing string decoded from cm to
     go to column destcol in line destline. It uses the external
     variables UP (from the up capability) and BC (if bc is given
     rather than bs) if necessary to avoid placing \n, ^D or ^@
     in the returned string.  (Programs which call tgoto should
     be sure to turn off the XTABS bit(s), since tgoto may now
     output a tab.  Note that programs using termcap should in
     general turn off XTABS anyway since some terminals use con-
     trol I for other functions, such as nondestructive space.)
     If a % sequence is given which is not understood, then tgoto
     returns "OOPS".

     Tputs decodes the leading padding information of the string
     cp; affcnt gives the number of lines affected by the opera-
     tion, or 1 if this is not applicable, outc is a routine
     which is called with each character in turn.  The external
     variable ospeed should contain the output speed of the ter-
     minal as encoded by stty(3C).  The external variable PC
     should contain a pad character to be used (from the pc capa-
     bility) if a null (^@) is inappropriate.

FILES
     /usr/lib/libtermcap.a  termcap library
     /usr/lib/termcap       data base

SEE ALSO
     termcap(4)
     terminfo(4)
     curses(3X)

AUTHOR
     William Joy

BUGS
     CX/UX supports termcap as an aid in porting Berkeley 4.2
     software.  The termcap data base, /usr/lib/termcap, will not
     be updated with the latest Harris terminals.  Harris
     encourages the use of the terminfo(4) terminal data base.
     The curses(3X) library package supports terminfo compatibil-
     ity routines. These routines emulate all of the routines
     documented on this page.





Page 2                        CX/UX Programmer's Reference Manual



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026