ncurses 6.0 - patch 20170304
[ncurses.git] / man / term_variables.3x
index bd2e0f6e8b4c2bfb1b0179031040af6363898da6..14fa7e9ae62d8700971eb1e705cbac991e6f1a2e 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 2010,2011 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            *
@@ -26,7 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: term_variables.3x,v 1.3 2011/12/17 23:31:50 tom Exp $
+.\" $Id: term_variables.3x,v 1.8 2017/01/07 19:25:15 tom Exp $
 .TH term_variables 3X ""
 .ds n 5
 .na
 \fB#include <term.h>\fR
 .PP
 \fBchtype acs_map[];\fR
-.br
+.sp
+\fBSCREEN * SP;\fR
+.sp
+\fBTERMINAL * cur_term;\fR
+.sp
+\fBchar ttytype[];\fR
+.sp
 \fBNCURSES_CONST char * const * boolcodes;\fR
 .br
 \fBNCURSES_CONST char * const * boolfnames;\fR
 .br
 \fBNCURSES_CONST char * const * boolnames;\fR
-.br
-\fBTERMINAL * cur_term;\fR
-.br
+.sp
 \fBNCURSES_CONST char * const * numcodes;\fR
 .br
 \fBNCURSES_CONST char * const * numfnames;\fR
 .br
 \fBNCURSES_CONST char * const * numnames;\fR
-.br
+.sp
 \fBNCURSES_CONST char * const * strcodes;\fR
 .br
 \fBNCURSES_CONST char * const * strfnames;\fR
 .br
 \fBNCURSES_CONST char * const * strnames;\fR
 .br
-\fBchar ttytype[];\fR
-.br
 .fi
 .SH DESCRIPTION
 This page summarizes variables provided by the \fBcurses\fP library's
@@ -108,35 +110,58 @@ and \fBdelscreen\fP(3X).
 It is possible to save a value of \fBcur_term\fP for subsequent
 use as a parameter to \fBset_term\fP, for switching between screens.
 Alternatively, one can save the return value from \fBnewterm\fP
-or \fBsetupterm\fP to reuse in \fBset_term\fP.
+or \fBsetupterm\fP(3X) to reuse in \fBset_term\fP.
 .SS Terminfo Names
 The \fB@TIC@\fP(1) and \fB@INFOCMP@\fP(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 are not available.
+although the hash-tables used by
+the terminfo and termcap functions are not available.
 .PP
 The long terminfo capability names use a "l" (ell) in their names:
-boolfnames
-numfnames
-strfnames
+\fBboolfnames\fP,
+\fBnumfnames\fP, and
+\fBstrfnames\fP.
 .PP
 These are the short names for terminfo capabilities:
-boolnames,
-numnames, and
-strnames.
+\fBboolnames\fP,
+\fBnumnames\fP, and
+\fBstrnames\fP.
 .PP
 These are the corresponding names used for termcap descriptions:
-boolcodes,
-numcodes, and
-strcodes.
+\fBboolcodes\fP,
+\fBnumcodes\fP, and
+\fBstrcodes\fP.
+.\"
 .SS Terminal Type
 On initialization of the curses or terminfo interfaces,
-\fBsetupterm\fP copies the terminal name to the array \fBttytype\fP.
+\fBsetupterm\fP(3X) copies the terminal name to the array \fBttytype\fP.
+.\"
+.SS Terminfo Names
+.PP
+In addition to the variables, \fB<term.h>\fP also defines a symbol for each
+terminfo capability \fIlong name\fP.
+These are in terms of the symbol \fBCUR\fP,
+which is defined
+.PP
+.nf
+.ft CW
+#define CUR cur_term->type.
+.fi
+.ft R
+.PP
+These symbols provide a faster method of accessing terminfo capabilities
+than using \fBtigetstr\fR(3X), etc.
+.\"
 .SH NOTES
-The low-level terminfo interface is initialized using \fBsetupterm\fR(3X).
+The low-level terminfo interface is initialized using
+.hy 0
+\fBsetupterm\fR(3X).
+.hy
 The upper-level curses interface uses the low-level terminfo interface,
 internally.
+.\"
 .SH PORTABILITY
 X/Open Curses does not describe any of these except for \fBcur_term\fP.
 (The inclusion of \fBcur_term\fP appears to be an oversight,
@@ -145,9 +170,14 @@ 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.
+.PP
+All implementations which provide terminfo interfaces add definitions
+as described in the \fBTerminfo Names\fP section.
+Most, but not all, base the definition upon the \fBcur_term\fP variable.
 .SH SEE ALSO
+.hy 0
 \fBcurses\fR(3X),
 \fBcurs_terminfo\fR(3X),
 \fBcurs_threads\fR(3X),
-\fBterminfo\fR(3X),
 \fBterminfo\fR(\*n).
+.hy