Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
term_variables(3X)		  Library calls 	      term_variables(3X)

NAME
     SP,   acs_map,   boolcodes,   boolfnames,	boolnames,  cur_term,  numcodes,
     numfnames, numnames, strcodes,  strfnames,  strnames,  ttytype  -	terminfo
     global variables

SYNOPSIS
     #include <curses.h>
     #include <term.h>

     chtype acs_map[];

     SCREEN * SP;

     TERMINAL * cur_term;

     char ttytype[];

     NCURSES_CONST char * const boolcodes[];
     NCURSES_CONST char * const boolfnames[];
     NCURSES_CONST char * const boolnames[];

     NCURSES_CONST char * const numcodes[];
     NCURSES_CONST char * const numfnames[];
     NCURSES_CONST char * const numnames[];

     NCURSES_CONST char * const strcodes[];
     NCURSES_CONST char * const strfnames[];
     NCURSES_CONST char * const strnames[];

DESCRIPTION
     This page summarizes variables provided by the curses library's lower-level
     terminfo  interface.   Locate  a more complete description in the curs_ter-
     minfo(3X) manual page.

     Depending on ncurses's build-time configuration, these may be actual  vari-
     ables,  or  macros  (see curs_threads(3X)) that provide read-only access to
     curses's state.  In either case, applications should treat  them  as  read-
     only to avoid confusing the library.

   Alternate Character Set Mapping
     After  initializing  the  curses  or terminfo interfaces, the acs_map array
     holds information used to translate cells with the A_ALTCHARSET  video  at-
     tribute into line-drawing characters.

     The  encoding  of	the  information in this array has changed periodically.
     Application developers need only know that it is used for the  "ACS_"  con-
     stants in curses.h.

     The  comparable data for the wide-character library are not exposed as sym-
     bols in the API.

   Current Terminal Data
     After initializing the curses or  terminfo  interfaces,  cur_term	contains
     data  describing the current terminal.  It is also updated as a side effect
     of set_term(3X) and delscreen(3X).

     It is possible to save a value of cur_term for subsequent use as a  parame-
     ter  to set_term(3X) for switching between screens.  Alternatively, one can
     save the return  value  from  newterm(3X)	or  setupterm(3X)  to  reuse  in
     set_term(3X).

   terminfo Lookup Tables
     The tic(1) and infocmp(1) programs use lookup tables for the long and short
     names  of	terminfo  capabilities,  as  well as the corresponding names for
     termcap capabilities.  These are available to  other  applications,  though
     the hash tables used by the terminfo and termcap functions are not.

     terminfo  stores  capability  names  in  arrays  with an "f" (eff) in their
     names: boolfnames, numfnames, and strfnames.  It stores the  briefer  capa-
     bility  codes in arrays without the "f": boolnames, numnames, and strnames.
     The  corresponding  termcap  capability  codes  are  stored  in  boolcodes,
     numcodes, and strcodes.  terminfo(5) catalogs these.

   Terminal Type
     A	terminal description begins with one or more terminal names separated by
     "|" (vertical bars).  On initialization of the curses  or	terminfo  inter-
     faces, setupterm(3X) copies the terminal name to the array ttytype.

   terminfo Names
     In  addition  to the variables, term.h also defines a symbol for each term-
     info capability name.  These are in terms of the symbol CUR, which  is  de-
     fined

	    #define CUR ((TERMTYPE *)(cur_term))->

     These  symbols  provide  a faster method of accessing terminfo capabilities
     than using, for example, tigetstr(3X).

     The definition of CUR is implementation-dependent, but  each  terminfo  li-
     brary  defines  these  names to point into the in-memory description of the
     current  terminal.   For  example,  in  ncurses,  the  expressions   tiget-
     str("key_dc") and "CUR Strings[59]" are equivalent.

   terminfo and curses
     setupterm(3X)  initializes the lower-level terminfo interface.  The higher-
     level curses interface uses the terminfo interface internally;  the  symbol
     SP bridges the curses SCREEN type with the terminfo TERMINAL type.

PORTABILITY
     X/Open  Curses  does not describe any of these symbols except for cur_term.
     (The inclusion of cur_term appears to be an oversight, since other compara-
     ble low-level information is omitted by X/Open.)

     Other implementations may have comparable variables.  Some  implementations
     provide  the  variables  in  their libraries, but omit them from the header
     files.

     All implementations that provide terminfo interfaces add definitions as de-
     scribed in the "terminfo Names" section above.  Most, but not all, base the
     definition upon the cur_term variable.

SEE ALSO
     curses(3X), curs_terminfo(3X), curs_threads(3X), terminfo(5)

ncurses 6.6			   2025-11-11		      term_variables(3X)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=term_variables&sektion=3&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help