<!--
****************************************************************************
- * Copyright (c) 2011-2013,2015 Free Software Foundation, Inc. *
+ * Copyright (c) 2011-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: term_variables.3x,v 1.6 2015/04/22 00:34:49 tom Exp @
+ * @Id: term_variables.3x,v 1.9 2017/04/14 08:33:25 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>SP</STRONG>, <STRONG>acs_map</STRONG>, <STRONG>boolcodes</STRONG>, <STRONG>boolfnames</STRONG>, <STRONG>boolnames</STRONG>, <STRONG>cur_term</STRONG>,
<STRONG>numcodes</STRONG>, <STRONG>numfnames</STRONG>, <STRONG>numnames</STRONG>, <STRONG>strcodes</STRONG>, <STRONG>strfnames</STRONG>,
<STRONG>strnames</STRONG>, <STRONG>ttytype</STRONG> - <STRONG>curses</STRONG> terminfo global variables
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
<STRONG>#include</STRONG> <STRONG><term.h></STRONG>
<STRONG>chtype</STRONG> <STRONG>acs_map[];</STRONG>
+ <STRONG>SCREEN</STRONG> <STRONG>*</STRONG> <STRONG>SP;</STRONG>
+
<STRONG>TERMINAL</STRONG> <STRONG>*</STRONG> <STRONG>cur_term;</STRONG>
<STRONG>char</STRONG> <STRONG>ttytype[];</STRONG>
<STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>strnames;</STRONG>
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
This page summarizes variables provided by the <STRONG>curses</STRONG> li-
brary's low-level terminfo interface. A more complete de-
scription is given in the <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> manual page.
ing the library.
-</PRE>
-<H3><a name="h3-Alternate-Character-Set-Mapping">Alternate Character Set Mapping</a></H3><PRE>
+</PRE><H3><a name="h3-Alternate-Character-Set-Mapping">Alternate Character Set Mapping</a></H3><PRE>
After initializing the curses or terminfo interfaces, the
<STRONG>acs_map</STRONG> array holds information used to translate cells
with the <STRONG>A_ALTCHARSET</STRONG> video attribute into line-drawing
private variable.
-</PRE>
-<H3><a name="h3-Current-Terminal-Data">Current Terminal Data</a></H3><PRE>
+</PRE><H3><a name="h3-Current-Terminal-Data">Current Terminal Data</a></H3><PRE>
After initializing the curses or terminfo interfaces, the
<STRONG>cur_term</STRONG> contains data describing the current terminal.
- This variable is also set as a side-effect of <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
- and <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>.
+ This variable is also set as a side-effect of <STRONG><A HREF="curs_initscr.3x.html">set_term(3x)</A></STRONG>
+ and <STRONG><A HREF="curs_initscr.3x.html">delscreen(3x)</A></STRONG>.
It is possible to save a value of <STRONG>cur_term</STRONG> for subsequent
use as a parameter to <STRONG>set_term</STRONG>, for switching between
screens. Alternatively, one can save the return value
- from <STRONG>newterm</STRONG> or <STRONG>setupterm</STRONG> to reuse in <STRONG>set_term</STRONG>.
+ from <STRONG>newterm</STRONG> or <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to reuse in <STRONG>set_term</STRONG>.
-</PRE>
-<H3><a name="h3-Terminfo-Names">Terminfo Names</a></H3><PRE>
- The <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> and <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> programs use lookup tables for
+</PRE><H3><a name="h3-Terminfo-Names">Terminfo Names</a></H3><PRE>
+ The <STRONG><A HREF="tic.1m.html">tic(1)</A></STRONG> and <STRONG><A HREF="infocmp.1m.html">infocmp(1)</A></STRONG> 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, although the
scriptions: <STRONG>boolcodes</STRONG>, <STRONG>numcodes</STRONG>, and <STRONG>strcodes</STRONG>.
-</PRE>
-<H3><a name="h3-Terminal-Type">Terminal Type</a></H3><PRE>
- On initialization of the curses or terminfo interfaces,
- <STRONG>setupterm</STRONG> copies the terminal name to the array <STRONG>ttytype</STRONG>.
+</PRE><H3><a name="h3-Terminal-Type">Terminal Type</a></H3><PRE>
+ A terminal description begins with one or more terminal
+ names separated by "|" (vertical bars). On initialization
+ of the curses or terminfo interfaces, <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> copies
+ the terminal names to the array <STRONG>ttytype</STRONG>.
-</PRE>
-<H3><a name="h3-Terminfo-Names">Terminfo Names</a></H3><PRE>
+</PRE><H3><a name="h3-Terminfo-Names">Terminfo Names</a></H3><PRE>
In addition to the variables, <STRONG><term.h></STRONG> also defines a sym-
bol for each terminfo capability <EM>long</EM> <EM>name</EM>. These are in
terms of the symbol <STRONG>CUR</STRONG>, which is defined
- #define CUR cur_term->type.
+ #define CUR ((TERMTYPE *)(cur_term))->
These symbols provide a faster method of accessing termin-
- fo capabilities than using <STRONG><A HREF="tigetstr.3x.html">tigetstr(3x)</A></STRONG>, etc.
+ fo capabilities than using <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG>, etc.
+ The actual definition of <STRONG>CUR</STRONG> depends upon the implementa-
+ tion, but each terminfo library provides these long names
+ defined to point into the current terminal description
+ loaded into memory.
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The low-level terminfo interface is initialized using
- <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>. The upper-level curses interface uses the
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The low-level terminfo interface is initialized using
+ <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>. The upper-level curses interface uses the
low-level terminfo interface, internally.
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses does not describe any of these except for
- <STRONG>cur_term</STRONG>. (The inclusion of <STRONG>cur_term</STRONG> appears to be an
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ X/Open Curses does not describe any of these except for
+ <STRONG>cur_term</STRONG>. (The inclusion of <STRONG>cur_term</STRONG> 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,
+ implementations provide the variables in their libraries,
but omit them from the header files.
- All implementations which provide terminfo interfaces add
- definitions as described in the <STRONG>Terminfo</STRONG> <STRONG>Names</STRONG> section.
- Most, but not all, base the definition upon the <STRONG>cur_term</STRONG>
+ All implementations which provide terminfo interfaces add
+ definitions as described in the <STRONG>Terminfo</STRONG> <STRONG>Names</STRONG> section.
+ Most, but not all, base the definition upon the <STRONG>cur_term</STRONG>
variable.
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>,
<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.