Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ex(1)

curses(3X)

termcap(5)

TERMCAP(3X)                          BSD                           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 terminal capability
     data base termcap(5).  These are low level routines; see curses(3X) for a
     higher level package.

     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, tgetflag, 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
     environment 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
     pathname rather than /etc/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 /etc/termcap.

     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 returns the
     string value of the capability id, places it in the buffer at area, and
     advances the area pointer.  It decodes the abbreviations for this field
     described in termcap(5), except for cursor addressing and padding
     information.  tgetstr returns NULL if the capability was not found.

     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 control 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 operation, 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 terminal as encoded by stty(3).  The external variable PC should
     contain a pad character to be used (from the pc capability) if a null
     (^@) is inappropriate.

FILES
     /usr/lib/libtermcap.a  -ltermcap library
     /etc/termcap           database

SEE ALSO
     ex(1), curses(3X), termcap(5)

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