MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Curses Library Functions                   cursterminfo(3CURSES)



NAME
     cursterminfo, setupterm, setterm, setcurterm, delcurterm,
     restartterm,  tparm,  tputs,  putp, vidputs, vidattr, mvcur,
     tigetflag, tigetnum, tigetstr - curses  interfaces  to  ter-
     minfo database

SYNOPSIS
     cc [ flag ... ] file ... -lcurses [ library ... ]
     #include 
     #include 

     int setupterm(char *term, int fildes, int *errret);


     int setterm(char *term);


     int setcurterm(TERMINAL *nterm);


     int delcurterm(TERMINAL *oterm);


     int restartterm(char *term, int fildes, int *errret);


     char *tparm(char *str, long int p1, long int p2, long int p3, long int p4,
          long int p5, long int p6, long int p7, long int p8, long int p9);


     int tputs(char *str, int affcnt, int (*putc)(char));


     int putp(char *str);


     int vidputs(chtype attrs, int (*putc)(char));


     int vidattr(chtype attrs);


     int mvcur(int oldrow, int oldcol, int newrow, int newcol);


     int tigetflag(char *capname);


     int tigetnum(char *capname);






SunOS 5.11          Last change: 31 Dec 1996                    1






Curses Library Functions                   cursterminfo(3CURSES)



     char *tigetstr(char *capname);


DESCRIPTION
     These low-level routines must be  called  by  programs  that
     have  to  deal directly with the terminfo database to handle
     certain terminal capabilities, such as programming  function
     keys.  For all other functionality, curses routines are more
     suitable and their use is recommended.


     Initially, setupterm() should be called.  Note  that  setup-
     term()  is  automatically called by initscr() and newterm().
     This defines the set of terminal-dependent variables (listed
     in  terminfo(4)).  The  terminfo variables lines and columns
     are   initialized   by   setupterm()   as    follows:     If
     useenv(FALSE) has been called, values for lines and columns
     specified in terminfo are used. Otherwise, if  the  environ-
     ment  variables  LINES  and  COLUMNS exist, their values are
     used. If these environment variables do not  exist  and  the
     program  is  running in a window, the current window size is
     used. Otherwise, if the environment variables do not  exist,
     the  values  for lines and columns specified in the terminfo
     database are used.


     The headers  and  should be  included  (in
     this  order)  to  get  the  definitions  for  these strings,
     numbers, and flags. Parameterized strings should  be  passed
     through  tparm()  to  instantiate them. All terminfo strings
     (including the output of tparm())  should  be  printed  with
     tputs()  or  putp().  Call the resetshellmode() routine to
     restore    the    tty    modes    before    exiting     (see
     curskernel(3CURSES)).  Programs which use cursor addressing
     should output entercamode upon startup and  should  output
     exitcamode before exiting. Programs desiring shell escapes
     should call resetshellmode and output exitcamode  before
     the shell is called and should output entercamode and call
     resetprogmode after returning from the shell.


     The setupterm() routine reads in the terminfo database, ini-
     tializing  the  terminfo structures, but does not set up the
     output virtualization structures used by curses. The  termi-
     nal  type is the character string term; if term is null, the
     environment variable TERM is used. All  output  is  to  file
     descriptor fildes which is initialized for output. If errret
     is not null, then setupterm() returns OK or ER and stores a
     status  value  in the integer pointed to by errret. A status
     of 1 in errret is normal, 0 means that  the  terminal  could
     not  be found, and -1 means that the terminfo database could
     not be found. If errret is null, setupterm() prints an error



SunOS 5.11          Last change: 31 Dec 1996                    2






Curses Library Functions                   cursterminfo(3CURSES)



     message  upon finding an error and exits. Thus, the simplest
     call is:


     setupterm((char *)0, 1, (int *)0);,


     which uses all the defaults and sends the output to stdout.


     The setterm() routine is being replaced by setupterm().  The
     call:


     setupterm(term, 1, (int *)0)


     provides the same functionality as setterm(term).  The  set-
     term()  routine  is  included  here for compatibility and is
     supported at Level 2.


     The setcurterm() routine  sets  the  variable  curterm  to
     nterm,  and  makes all of the terminfo boolean, numeric, and
     string variables use the values from nterm.


     The delcurterm() routine frees  the  space  pointed  to  by
     oterm  and  makes  it available for further use. If oterm is
     the same as curterm, references  to  any  of  the  terminfo
     boolean,  numeric, and string variables thereafter may refer
     to invalid memory locations until  another  setupterm()  has
     been called.


     The restartterm() routine  is  similar  to  setupterm()  and
     initscr(),  except  that it is called after restoring memory
     to a previous state. It assumes that  the  windows  and  the
     input  and  output  options  are the same as when memory was
     saved, but the terminal type and baud rate may be different.


     The tparm() routine instantiates the string str with parame-
     ters pi. A pointer is returned to the result of str with the
     parameters applied.


     The tputs()  routine  applies  padding  information  to  the
     string str and outputs it. The str must be a terminfo string
     variable or the return value  from  tparm(),  tgetstr(),  or
     tgoto(). affcnt is the number of lines affected, or 1 if not
     applicable. putc is a putchar()-like routine  to  which  the



SunOS 5.11          Last change: 31 Dec 1996                    3






Curses Library Functions                   cursterminfo(3CURSES)



     characters are passed, one at a time.


     The putp() routine calls tputs(str, 1, putchar).  Note  that
     the  output  of  putpA()  always  goes to stdout, not to the
     fildes specified in setupterm().


     The vidputs() routine displays the string on the terminal in
     the  video attribute mode attrs, which is any combination of
     the attributes listed in curses(3CURSES). The characters are
     passed to the putchar()-like routine putc() .


     The vidattr() routine is like the vidputs() routine,  except
     that it outputs through putchar().


     The mvcur() routine provides low-level cursor motion.


     The tigetflag(), tigetnum() and tigetstr()  routines  return
     the  value  of  the capability corresponding to the terminfo
     capname passed to them, such as xenl.


     With the tigetflag() routine, the value -1  is  returned  if
     capname is not a boolean capability.


     With the tigetnum() routine, the value  -2  is  returned  if
     capname is not a numeric capability.


     With  the  tigetstr()  routine,  the  value  (char  *)-1  is
     returned if capname is not a string capability.


     The capname for each capability is given in the table column
     entitled  capname  code  in the capabilities section of ter-
     minfo(4).

       char *boolnames, *boolcodes, *boolfnames
       char *numnames, *numcodes, *numfnames
       char *strnames, *strcodes, *strfnames



     These  null-terminated  arrays  contain  the  capnames,  the
     termcap  codes,  and  the full C names, for each of the ter-
     minfo variables.




SunOS 5.11          Last change: 31 Dec 1996                    4






Curses Library Functions                   cursterminfo(3CURSES)



RETURN VALUES
     All routines return the integer  ER  upon  failure  and  an
     integer  value  other  than  ER upon successful completion,
     unless otherwise noted in  the  preceding  routine  descrip-
     tions.


     Routines that return pointers always return NUL on error.

ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     MT-Level                     Unsafe                      
    


SEE ALSO
     cursinitscr(3CURSES),                 curskernel(3CURSES),
     curstermcap(3CURSES),   curses(3CURSES),   putc(3C),   ter-
     minfo(4), attributes(5)

NOTES
     The header   automatically  includes  the  headers
      and .


     The setupterm() routine should be  used  in  place  of  set-
     term().


     Note that vidattr() and vidputs() may be macros.


















SunOS 5.11          Last change: 31 Dec 1996                    5



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™