blob: 7d440bf53ebca8388f5df312e241ac3dd93a232b [file] [log] [blame]
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +05301.\"***************************************************************************
Steve Kondikae271bc2015-11-15 02:50:53 +01002.\" Copyright (c) 1999-2011,2013 Free Software Foundation, Inc. *
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +05303.\" *
4.\" Permission is hereby granted, free of charge, to any person obtaining a *
5.\" copy of this software and associated documentation files (the *
6.\" "Software"), to deal in the Software without restriction, including *
7.\" without limitation the rights to use, copy, modify, merge, publish, *
8.\" distribute, distribute with modifications, sublicense, and/or sell *
9.\" copies of the Software, and to permit persons to whom the Software is *
10.\" furnished to do so, subject to the following conditions: *
11.\" *
12.\" The above copyright notice and this permission notice shall be included *
13.\" in all copies or substantial portions of the Software. *
14.\" *
15.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
16.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
17.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
18.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
19.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
20.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
21.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
22.\" *
23.\" Except as contained in this notice, the name(s) of the above copyright *
24.\" holders shall not be used in advertising or otherwise to promote the *
25.\" sale, use or other dealings in this Software without prior written *
26.\" authorization. *
27.\"***************************************************************************
28.\"
Steve Kondikae271bc2015-11-15 02:50:53 +010029.\" $Id: curs_terminfo.3x,v 1.43 2013/07/20 19:29:59 tom Exp $
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053030.TH curs_terminfo 3X ""
Steve Kondikae271bc2015-11-15 02:50:53 +010031.ie \n(.g .ds `` \(lq
32.el .ds `` ``
33.ie \n(.g .ds '' \(rq
34.el .ds '' ''
35.de bP
36.IP \(bu 4
37..
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053038.ds n 5
39.na
40.hy 0
41.SH NAME
42\fBdel_curterm\fR,
43\fBmvcur\fR,
44\fBputp\fR,
45\fBrestartterm\fR,
46\fBset_curterm\fR,
47\fBsetterm\fR,
48\fBsetupterm\fR,
49\fBtigetflag\fR,
50\fBtigetnum\fR,
51\fBtigetstr\fR,
Steve Kondikae271bc2015-11-15 02:50:53 +010052\fBtiparm\fR,
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053053\fBtparm\fR,
54\fBtputs\fR,
55\fBvid_attr\fR,
56\fBvid_puts\fR,
57\fBvidattr\fR,
Steve Kondikae271bc2015-11-15 02:50:53 +010058\fBvidputs\fR \- \fBcurses\fR interfaces to terminfo database
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053059.ad
60.hy
61.SH SYNOPSIS
62.nf
63\fB#include <curses.h>\fR
64.br
65\fB#include <term.h>\fR
66.PP
67\fBint setupterm(char *\fR\fIterm\fR\fB, int \fR\fIfildes\fR\fB, int *\fR\fIerrret\fR\fB);\fR
68.br
69\fBint setterm(char *\fR\fIterm\fR\fB);\fR
70.br
71\fBTERMINAL *set_curterm(TERMINAL *\fR\fInterm\fR\fB);\fR
72.br
73\fBint del_curterm(TERMINAL *\fR\fIoterm\fR\fB);\fR
74.br
75\fBint restartterm(char *\fR\fIterm\fR\fB, int \fR\fIfildes\fR\fB, int *\fR\fIerrret\fR\fB);\fR
76.br
77\fBchar *tparm(char *\fR\fIstr\fR\fB, ...);\fR
78.br
79\fBint tputs(const char *\fR\fIstr\fR\fB, int \fR\fIaffcnt\fR\fB, int (*\fR\fIputc\fR\fB)(int));\fR
80.br
81\fBint putp(const char *\fR\fIstr\fR\fB);\fR
82.br
83\fBint vidputs(chtype \fR\fIattrs\fR\fB, int (*\fR\fIputc\fR\fB)(int));\fR
84.br
85\fBint vidattr(chtype \fR\fIattrs\fR\fB);\fR
86.br
Steve Kondikae271bc2015-11-15 02:50:53 +010087\fBint vid_puts(attr_t \fR\fIattrs\fR\fB, short \fR\fIpair\fR\fB, void *\fR\fIopts\fR\fB, int (*\fR\fIputc\fR\fB)(int));\fR
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053088.br
89\fBint vid_attr(attr_t \fR\fIattrs\fR\fB, short \fR\fIpair\fR\fB, void *\fR\fIopts\fR\fB);\fR
90.br
91\fBint mvcur(int \fR\fIoldrow\fR\fB, int \fR\fIoldcol\fR\fB, int \fR\fInewrow\fR, int \fR\fInewcol\fR\fB);\fR
92.br
93\fBint tigetflag(char *\fR\fIcapname\fR\fB);\fR
94.br
95\fBint tigetnum(char *\fR\fIcapname\fR\fB);\fR
96.br
97\fBchar *tigetstr(char *\fR\fIcapname\fR\fB);\fR
98.br
Steve Kondikae271bc2015-11-15 02:50:53 +010099\fBchar *tiparm(const char *\fR\fIstr\fR\fB, ...);\fR
100.br
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530101.fi
102.SH DESCRIPTION
103These low-level routines must be called by programs that have to deal
104directly with the \fBterminfo\fR database to handle certain terminal
105capabilities, such as programming function keys. For all other
106functionality, \fBcurses\fR routines are more suitable and their use is
107recommended.
Steve Kondikae271bc2015-11-15 02:50:53 +0100108.SS Initialization
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530109.PP
110Initially, \fBsetupterm\fR should be called. Note that
111\fBsetupterm\fR is automatically called by \fBinitscr\fR and
112\fBnewterm\fR. This defines the set of terminal-dependent variables
113[listed in \fBterminfo\fR(\*n)].
Steve Kondikae271bc2015-11-15 02:50:53 +0100114.PP
115Each initialization routine provides applications with the
116terminal capabilities either directly (via header definitions),
117or by special functions.
118The header files \fBcurses.h\fR and \fBterm.h\fR should be included (in this
119order) to get the definitions for these strings, numbers, and flags.
120.PP
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530121The \fBterminfo\fR variables
122\fBlines\fR and \fBcolumns\fR are initialized by \fBsetupterm\fR as
123follows:
Steve Kondikae271bc2015-11-15 02:50:53 +0100124.bP
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530125If \fBuse_env(FALSE)\fR has been called, values for
126\fBlines\fR and \fBcolumns\fR specified in \fBterminfo\fR are used.
Steve Kondikae271bc2015-11-15 02:50:53 +0100127.bP
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530128Otherwise, if the environment variables \fBLINES\fR and \fBCOLUMNS\fR
129exist, their values are used. If these environment variables do not
130exist and the program is running in a window, the current window size
131is used. Otherwise, if the environment variables do not exist, the
132values for \fBlines\fR and \fBcolumns\fR specified in the
133\fBterminfo\fR database are used.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530134.PP
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530135Parameterized strings should be passed through \fBtparm\fR to instantiate them.
136All \fBterminfo\fR strings [including the output of \fBtparm\fR] should be printed
Steve Kondikae271bc2015-11-15 02:50:53 +0100137with \fBtputs\fR or \fBputp\fR.
138Call \fBreset_shell_mode\fR to restore the
139tty modes before exiting [see \fBcurs_kernel\fR(3X)].
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530140.PP
Steve Kondikae271bc2015-11-15 02:50:53 +0100141Programs which use
142cursor addressing should
143.bP
144output \fBenter_ca_mode\fR upon startup and
145.bP
146output \fBexit_ca_mode\fR before exiting.
147.PP
148Programs which execute shell subprocesses should
149.bP
150call \fBreset_shell_mode\fR and
151output \fBexit_ca_mode\fR before the shell
152is called and
153.bP
154output \fBenter_ca_mode\fR and
155call \fBreset_prog_mode\fR after returning from the shell.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530156.PP
157The \fBsetupterm\fR routine reads in the \fBterminfo\fR database,
158initializing the \fBterminfo\fR structures, but does not set up the
159output virtualization structures used by \fBcurses\fR. The terminal
160type is the character string \fIterm\fR; if \fIterm\fR is null, the
161environment variable \fBTERM\fR is used.
162All output is to file descriptor \fBfildes\fR which is initialized for output.
163If \fIerrret\fR is not null,
164then \fBsetupterm\fR returns \fBOK\fR or
165\fBERR\fR and stores a status value in the integer pointed to by
166\fIerrret\fR.
167A return value of \fBOK\fR combined with status of \fB1\fR in \fIerrret\fR
168is normal.
169If \fBERR\fR is returned, examine \fIerrret\fR:
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530170.TP 5
171.B 1
172means that the terminal is hardcopy, cannot be used for curses applications.
Steve Kondikae271bc2015-11-15 02:50:53 +0100173.IP
174\fBsetupterm\fP determines if the entry is a hardcopy type by
175checking the \fIhc\fP (\fIhardcopy\fP) capability.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530176.TP 5
177.B 0
178means that the terminal could not be found,
179or that it is a generic type,
180having too little information for curses applications to run.
Steve Kondikae271bc2015-11-15 02:50:53 +0100181.IP
182\fBsetupterm\fP determines if the entry is a generic type by
183checking the \fIgn\fP (\fIgeneric\fP) capability.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530184.TP 5
Steve Kondikae271bc2015-11-15 02:50:53 +0100185.B \-1
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530186means that the \fBterminfo\fR database could not be found.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530187.PP
188If \fIerrret\fR is
189null, \fBsetupterm\fR prints an error message upon finding an error
190and exits. Thus, the simplest call is:
191.sp
192 \fBsetupterm((char *)0, 1, (int *)0);\fR,
193.sp
194which uses all the defaults and sends the output to \fBstdout\fR.
195.PP
Steve Kondikae271bc2015-11-15 02:50:53 +0100196The \fBsetterm\fR routine was replaced by \fBsetupterm\fR. The call:
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530197.sp
198 \fBsetupterm(\fR\fIterm\fR\fB, 1, (int *)0)\fR
199.sp
200provides the same functionality as \fBsetterm(\fR\fIterm\fR\fB)\fR.
Steve Kondikae271bc2015-11-15 02:50:53 +0100201The \fBsetterm\fR routine is provided for BSD compatibility, and
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530202is not recommended for new programs.
Steve Kondikae271bc2015-11-15 02:50:53 +0100203.\" ***************************************************************************
204.SS The Terminal State
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530205.PP
Steve Kondikae271bc2015-11-15 02:50:53 +0100206The \fBsetupterm\fR routine stores its information about the terminal
207in a \fBTERMINAL\fP structure pointed to by the global variable \fBcur_term\fP.
208If it detects an error,
209or decides that the terminal is unsuitable (hardcopy or generic),
210it discards this information,
211making it not available to applications.
212.PP
213If \fBsetupterm\fP is called repeatedly for the same terminal type,
214it will reuse the information.
215It maintains only one copy of a given terminal's capabilities in memory.
216If it is called for different terminal types,
217\fBsetupterm\fP allocates new storage for each set of terminal capabilities.
218.PP
219The \fBset_curterm\fR routine sets \fBcur_term\fR to
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530220\fInterm\fR, and makes all of the \fBterminfo\fR boolean, numeric, and
Steve Kondikae271bc2015-11-15 02:50:53 +0100221string variables use the values from \fInterm\fR.
222It returns the old value of \fBcur_term\fR.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530223.PP
224The \fBdel_curterm\fR routine frees the space pointed to by
225\fIoterm\fR and makes it available for further use. If \fIoterm\fR is
226the same as \fBcur_term\fR, references to any of the \fBterminfo\fR
227boolean, numeric, and string variables thereafter may refer to invalid
228memory locations until another \fBsetupterm\fR has been called.
229.PP
230The \fBrestartterm\fR routine is similar to \fBsetupterm\fR and \fBinitscr\fR,
231except that it is called after restoring memory to a previous state (for
Steve Kondikae271bc2015-11-15 02:50:53 +0100232example, when reloading a game saved as a core image dump).
233\fBrestartterm\fP assumes that the windows and the input and output options
234are the same as when memory was saved,
235but the terminal type and baud rate may be different.
236Accordingly, \fBrestartterm\fP saves various tty state bits,
237calls \fBsetupterm\fP, and then restores the bits.
238.\" ***************************************************************************
239.SS Formatting Output
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530240.PP
241The \fBtparm\fR routine instantiates the string \fIstr\fR with
242parameters \fIpi\fR. A pointer is returned to the result of \fIstr\fR
243with the parameters applied.
244.PP
Steve Kondikae271bc2015-11-15 02:50:53 +0100245\fBtiparm\fP is a newer form of \fBtparm\fP which uses \fI<stdarg.h>\fP
246rather than a fixed-parameter list.
247Its numeric parameters are integers (int) rather than longs.
248.\" ***************************************************************************
249.SS Output Functions
250.PP
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530251The \fBtputs\fR routine applies padding information to the string
252\fIstr\fR and outputs it. The \fIstr\fR must be a terminfo string
253variable or the return value from \fBtparm\fR, \fBtgetstr\fR, or
254\fBtgoto\fR. \fIaffcnt\fR is the number of lines affected, or 1 if
255not applicable. \fIputc\fR is a \fBputchar\fR-like routine to which
256the characters are passed, one at a time.
257.PP
258The \fBputp\fR routine calls \fBtputs(\fR\fIstr\fR\fB, 1, putchar)\fR.
259Note that the output of \fBputp\fR always goes to \fBstdout\fR, not to
260the \fIfildes\fR specified in \fBsetupterm\fR.
261.PP
262The \fBvidputs\fR routine displays the string on the terminal in the
263video attribute mode \fIattrs\fR, which is any combination of the
264attributes listed in \fBcurses\fR(3X). The characters are passed to
265the \fBputchar\fR-like routine \fIputc\fR.
266.PP
267The \fBvidattr\fR routine is like the \fBvidputs\fR routine, except
268that it outputs through \fBputchar\fR.
269.PP
270The \fBvid_attr\fR and \fBvid_puts\fR routines correspond to vidattr and vidputs,
271respectively.
272They use a set of arguments for representing the video attributes plus color,
273i.e.,
274one of type attr_t for the attributes and one of short for
275the color_pair number.
276The \fBvid_attr\fR and \fBvid_puts\fR routines
277are designed to use the attribute constants with the \fIWA_\fR prefix.
278The opts argument is reserved for future use.
279Currently, applications must provide a null pointer for that argument.
280.PP
281The \fBmvcur\fR routine provides low-level cursor motion. It takes
282effect immediately (rather than at the next refresh).
Steve Kondikae271bc2015-11-15 02:50:53 +0100283.\" ***************************************************************************
284.SS Terminal Capability Functions
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530285.PP
286The \fBtigetflag\fR, \fBtigetnum\fR and \fBtigetstr\fR routines return
287the value of the capability corresponding to the \fBterminfo\fR
288\fIcapname\fR passed to them, such as \fBxenl\fR.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530289The \fIcapname\fR for each capability is given in the table column entitled
290\fIcapname\fR code in the capabilities section of \fBterminfo\fR(\*n).
Steve Kondikae271bc2015-11-15 02:50:53 +0100291.PP
292These routines return special values to denote errors.
293.PP
294The \fBtigetflag\fR routine returns
295.TP
296\fB\-1\fR
297if \fIcapname\fR is not a boolean capability,
298or
299.TP
300\fB0\fR
301if it is canceled or absent from the terminal description.
302.PP
303The \fBtigetnum\fR routine returns
304.TP
305\fB\-2\fR
306if \fIcapname\fR is not a numeric capability, or
307.TP
308\fB\-1\fR
309if it is canceled or absent from the terminal description.
310.PP
311The \fBtigetstr\fR routine returns
312.TP
313\fB(char *)\-1\fR
314if \fIcapname\fR is not a string capability,
315or
316.TP
317\fB0\fR
318if it is canceled or absent from the terminal description.
319.\" ***************************************************************************
320.SS Terminal Capability Names
321These null-terminated arrays contain
322the short terminfo names ("codes"),
323the \fBtermcap\fR names, and the long terminfo names ("fnames")
324for each of the predefined \fBterminfo\fR variables:
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530325.RS
326\fBchar *boolnames[]\fR, \fB*boolcodes[]\fR, \fB*boolfnames[]\fR
327.sp
328\fBchar *numnames[]\fR, \fB*numcodes[]\fR, \fB*numfnames[]\fR
329.sp
330\fBchar *strnames[]\fR, \fB*strcodes[]\fR, \fB*strfnames[]\fR
331.RE
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530332.SH RETURN VALUE
333Routines that return an integer return \fBERR\fR upon failure and \fBOK\fR
334(SVr4 only specifies "an integer value other than \fBERR\fR") upon successful
335completion, unless otherwise noted in the preceding routine descriptions.
336.PP
337Routines that return pointers always return \fBNULL\fR on error.
338.PP
339X/Open defines no error conditions.
340In this implementation
Steve Kondikae271bc2015-11-15 02:50:53 +0100341.RS 5
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530342.TP 5
343\fBdel_curterm\fP
344returns an error
345if its terminal parameter is null.
346.TP 5
347\fBputp\fP
348calls \fBtputs\fP, returning the same error-codes.
349.TP 5
350\fBrestartterm\fP
351returns an error
352if the associated call to \fBsetupterm\fP returns an error.
353.TP 5
354\fBsetupterm\fP
355returns an error
356if it cannot allocate enough memory, or
357create the initial windows (stdscr, curscr, newscr).
358Other error conditions are documented above.
359.TP 5
360\fBtputs\fP
361returns an error if the string parameter is null.
362It does not detect I/O errors:
363X/Open states that \fBtputs\fP ignores the return value
364of the output function \fIputc\fP.
365.RE
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530366.SH PORTABILITY
Steve Kondikae271bc2015-11-15 02:50:53 +0100367X/Open notes that \fBvidattr\fR and \fBvidputs\fR may be macros.
368.PP
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530369The function \fBsetterm\fR is not described by X/Open and must
Steve Kondikae271bc2015-11-15 02:50:53 +0100370be considered non-portable.
371All other functions are as described by X/Open.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530372.PP
373\fBsetupterm\fP copies the terminal name to the array \fBttytype\fP.
374This is not part of X/Open Curses, but is assumed by some applications.
375.PP
Steve Kondikae271bc2015-11-15 02:50:53 +0100376If configured to use the terminal-driver,
377e.g., for the MinGW port,
378.bP
379\fBsetupterm\fP interprets a missing/empty TERM variable as the
380special value \*(``unknown\*(''.
381.bP
382\fBsetupterm\fP allows explicit use of the
383the windows console driver by checking if $TERM is set to
384\*(``#win32con\*('' or an abbreviation of that string.
385.PP
386Older versions of \fBncurses\fP assumed that the file descriptor passed to
387\fBsetupterm\fP from \fBinitscr\fP or \fBnewterm\fP uses buffered I/O,
388and would write to the corresponding stream.
389In addition to the limitation that the terminal was left in block-buffered
390mode on exit (like SystemV curses),
391it was problematic because \fBncurses\fP
392did not allow a reliable way to cleanup on receiving SIGTSTP.
393The current version uses output buffers managed directly by \fBncurses\fP.
394Some of the low-level functions described in this manual page write
395to the standard output.
396They are not signal-safe.
397The high-level functions in \fBncurses\fP use
398alternate versions of these functions
399using the more reliable buffering scheme.
400.PP
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530401In System V Release 4, \fBset_curterm\fR has an \fBint\fR return type and
402returns \fBOK\fR or \fBERR\fR. We have chosen to implement the X/Open Curses
403semantics.
404.PP
405In System V Release 4, the third argument of \fBtputs\fR has the type
406\fBint (*putc)(char)\fR.
407.PP
408At least one implementation of X/Open Curses (Solaris) returns a value
409other than OK/ERR from \fBtputs\fP.
410That returns the length of the string, and does no error-checking.
411.PP
412X/Open Curses prototypes \fBtparm\fR with a fixed number of parameters,
413rather than a variable argument list.
Steve Kondikae271bc2015-11-15 02:50:53 +0100414This implementation uses a variable argument list, but can be
415configured to use the fixed-parameter list.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530416Portable applications should provide 9 parameters after the format;
417zeroes are fine for this purpose.
418.PP
Steve Kondikae271bc2015-11-15 02:50:53 +0100419In response to comments by Thomas E. Dickey,
420X/Open Curses Issue 7 proposed the \fBtiparm\fP function in mid-2009.
421.PP
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530422X/Open notes that after calling \fBmvcur\fR, the curses state may not match the
423actual terminal state, and that an application should touch and refresh
424the window before resuming normal curses calls.
Steve Kondikae271bc2015-11-15 02:50:53 +0100425Both \fBncurses\fP and System V Release 4 curses implement \fBmvcur\fR using
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530426the SCREEN data allocated in either \fBinitscr\fR or \fBnewterm\fR.
427So though it is documented as a terminfo function,
428\fBmvcur\fR is really a curses function which is not well specified.
429.PP
430X/Open states that the old location must be given for \fBmvcur\fP.
Steve Kondikae271bc2015-11-15 02:50:53 +0100431This implementation allows the caller to use \-1's for the old ordinates.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530432In that case, the old location is unknown.
433.PP
Steve Kondikae271bc2015-11-15 02:50:53 +0100434Other implementions may not declare the capability name arrays.
435Some provide them without declaring them.
436X/Open does not specify them.
437.PP
438Extended terminal capability names, e.g., as defined by \fB@TIC@\ \-x\fP,
439are not stored in the arrays described here.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530440.SH SEE ALSO
441\fBcurses\fR(3X),
442\fBcurs_initscr\fR(3X),
443\fBcurs_kernel\fR(3X),
444\fBcurs_termcap\fR(3X),
Steve Kondikae271bc2015-11-15 02:50:53 +0100445\fBcurs_variables\fR(3X),
446\fBterm_variables\fR(3X),
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530447\fBputc\fR(3),
448\fBterminfo\fR(\*n)