NAME

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


SYNOPSIS

     #include <termcap.h>

     int tgetent(char *bp, char *name)
     int tgetflag(char *id)
     int tgetnum(char *id)
     char *tgetstr(char *id, char **area)
     char *tgoto(char *cm, int destcol, int destline)
     int tputs(char *cp, int affcnt, void (*outc)(int))


DESCRIPTION

     These functions extract and use capabilities from the termi-
     nal  capability  data  base termcap(5).  These are low level
     routines; see curses(3) 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 find
     a termcap file, 0 if the terminal name given does  not  have
     an entry, and 1 if all goes well.

     Tgetent uses the following recipe to find the  termcap  file
     and entry name:

          if $TERMCAP is itself a termcap entry for name
          then
               use $TERMCAP
          elif $TERMCAP names a file
          then
               use entry name found in that file
          elif this is Minix-vmd
          then
               if $TERMPATH is defined
               then
                    search the termcap files named  in  $TERMPATH
                    for  the  first occurance of a name entry and
                    use that entry
               else
                    the                  path                   "
                    $HOME/.termcap:/etc/termcap:/usr/etc/termcap"
                    is searched for entry name
               fi
          fi

     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 capa-
     bility 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
     CTRL-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(3).   The  external variable PC
     should contain a pad character to be used (from the pc capa-
     bility) if a null (^@) is inappropriate.


SEE ALSO

     curses(3), termcap(5).


AUTHOR

     William Joy


NOTES

     The MINIX 3 implementation  does  not  support  any  of  the
     external variables, only the functions calls.  The Minix-vmd
     termcap does support it all, although  noone  in  his  right
     mind meddles with those variables.