tigetflag, tigetnum, tigetstr, tparm - retrieve capabilities from the terminfo database
#include <term.h> int tigetflag(char *capname); int tigetnum(char *capname); char *tigetstr(char *capname); char *tparm(char *cap, long p1, long p2, long p3, long p4, long p5, long p6, long p7, long p8, long p9);
The tigetflag(), tigetnum(), and tigetstr() functions obtain boolean, numeric and string capabilities, respectively, from the selected record of the terminfo database. For each capability, the value to use as capname appears in the Capname column in the table inDefined Capabilities .The tparm() function takes as cap a string capability. If cap is parameterised (as described in
), tparm() resolves the parameterisation. If the parameterised string refers to parameters %p1 through %p9, then tparm() substitutes the values of p1 through p9, respectively.
Upon successful completion, tigetflag(), tigetnum() and tigetstr() return the specified capability. The tigetflag() function returns -1 if capname is not a boolean capability. The tigetnum() function returns -2 if capname is not a numeric capability. The tigetstr() function returns (char *)-1 if capname is not a string capability.Upon successful completion, tparm() returns str with parameterisation resolved. Otherwise, it returns a null pointer.
No errors are defined.
For parameterised string capabilities, the application should pass the return value from tigetstr() to tparm(), as described above.Applications intending to send terminal capabilities directly to the terminal (which should only be done using tputs() or putp()) instead of using Curses, normally should obey the following rules:
- Call reset_shell_mode() to restore the display modes before exiting.
- If using cursor addressing, output enter_ca_mode upon startup and output exit_ca_mode before exiting.
- If using shell escapes, output exit_ca_mode and call reset_shell_mode() before calling the shell; call reset_prog_mode() and output enter_ca_mode after returning from the shell.
All parameterised terminal capabilities defined in this document can be passed to tparm(). Some implementations create their own capabilities, create capabilities for non-terminal devices, and redefine the capabilities in this document. These practices are non-conforming because it may be that tparm() cannot parse these user-defined strings.
def_prog_mode(), tgetent(), putp(), <term.h>.