term_variables(3x) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | PORTABILITY | SEE ALSO | COLOPHON

term_variables(3X)            Library calls            term_variables(3X)

NAME         top

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

SYNOPSIS         top

       #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         top

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

       Depending on ncurses's build-time configuration, these may be
       actual variables, 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 attribute 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_” constants in curses.h.

       The comparable data for the wide-character library are not exposed
       as symbols 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
       parameter 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 capability 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 interfaces, 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 terminfo capability name.  These are in terms of the symbol
       CUR, which is defined

              #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 term‐
       info library defines these names to point into the in-memory
       description of the current terminal.  For example, in ncurses, the
       expressions tigetstr("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         top

       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 comparable 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 described in the “terminfo Names” section above.
       Most, but not all, base the definition upon the cur_term variable.

SEE ALSO         top

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

COLOPHON         top

       This page is part of the ncurses (new curses) project.
       Information about the project can be found at 
       ⟨https://invisible-island.net/ncurses/ncurses.html⟩.  If you have a
       bug report for this manual page, send it to bug-ncurses@gnu.org.
       This page was obtained from the tarball ncurses-6.6.tar.gz fetched
       from ⟨https://ftp.gnu.org/gnu/ncurses/⟩ on 2026-01-16.  If you
       discover any rendering problems in this HTML version of the page,
       or you believe there is a better or more up-to-date source for the
       page, or you have corrections or improvements to the information
       in this COLOPHON (which is not part of the original manual page),
       send a mail to man-pages@man7.org

ncurses @NCURSES_MAJOR@.@NCU... 2025-11-11             term_variables(3X)