termcap(3)



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 terminal 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 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  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 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.


SEE ALSO

     curses(3), termcap(5).


AUTHOR

     William Joy


NOTES

     The Minix 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.