Sortix 1.1dev ports manual
This manual documents Sortix 1.1dev ports. You can instead view this document in the latest official manual.
TERMINFO(3) | Library Functions Manual | TERMINFO(3) |
NAME
setupterm, set_curterm, del_curterm, termname, longname, tigetflag, tigetnum, tigetstr, tparm, tputs, putp — terminal independent operation routinesLIBRARY
Terminal Information Library (libterminfo, -lterminfo)SYNOPSIS
#include <term.h> char PC;short ospeed;
TERMINAL *cur_term; int
setupterm(const char *name, int fildes, int *errret); TERMINAL *
set_curterm(TERMINAL *nterm); int
del_curterm(TERMINAL *oterm); char *
termname(void); char *
longname(void); int
tigetnum(const char *id); int
tigetflag(const char *id); char *
tigetstr(const char *id); char *
tparm(const char *cm, long p1, long p2, long p3, long p4, long p5, long p6, long p7, long p8, long p9); int
tputs(const char *cp, int affcnt, int (*outc)(int)); int
putp(const char *cp); int
ti_setupterm(TERMINAL **, const char *name, int fildes, int *error); int
ti_getflag(const TERMINAL *, const char *id); int
ti_getnum(const TERMINAL *, const char *id); const char *
ti_getstr(const TERMINAL *, const char *id); char *
tiparm(const char *cm, ...); char *
ti_tiparm(TERMINAL *, const char *cm, ...); int
ti_puts(const TERMINAL *term, const char *str, int affcnt, int (*outc)(int ch, void *arg), void *arg); int
ti_putp(const TERMINAL *term, const char *str);
DESCRIPTION
These functions extract and use capabilities from a terminal capability database, usually /usr/share/misc/terminfo, the format of which is described in terminfo(5). These are low level routines; see curses(3) for a higher level package. The setupterm() function extracts the entry for terminal name and then calls set_curterm() to set cur_term to it. If name isNULL
then it is replaced by the environment
variable TERM
. The
setupterm() function returns 0 on success and -1
on error. errret is set to -1 if the
terminfo database could not be opened, 0 if the
terminal could not be found in the database, and 1 if all went well.
The set_curterm() function sets the variable
cur_term to
nterm and makes all of the
terminfo boolean, numeric and string variables
use the values from nterm. The global
variables PC and
ospeed are then set. The old value of
cur_term is returned. The
del_curterm() function frees space pointed to by
oterm.
The termname() function returns the name of
cur_term. The
longname() function returns the description of
cur_term.
The tigetflag() function gets the boolean value of
capability id, returning -1 if it is not a
valid capability. The tigetnum() function gets
the numeric value of the capability id,
returning -2 if it is not a valid capability. The
tigetstr() function returns the string value of
the capability id, returning (char *)-1 if it
is not a valid capability.
The tparm() function returns a string decoded from
cm with the parameters
p1 ... p9
applied. Some capabilities require string parameters and only platforms that
can fit a char * pointer inside a
long can use them. For platforms which don't
support this, NULL
is returned and
errno is set to
ENOTSUPP
. The string encoding and parameter
application is described in
terminfo(5).
The tputs() function applies padding information to
the string cp;
affcnt gives the number of lines affected by
the operation, or 1 if this is not applicable;
outc is a function which is called by each
character in turn. The external variable
ospeed controls how many padding characters
are sent in relation to the terminal speed. The
putp() function calls tputs(str, 1, putchar). The
output from putp() always goes to stdout.
NetBSD Extensions To Terminfo
The tiparm() function allows variadic parameters instead of 9 fixed longs. Numeric parameters must be passed as int. String parameters must be passed as char * and works on all platforms, unlike tparm(). The ti_*() functions correspond to the standard t*() functions but take an additional TERMINAL * parameter so that the terminal can be specified instead of assuming cur_term. These functions use private variables to the TERMINAL instead of the global variables, such as PC and ospeed.SEE ALSO
ex(1), curses(3), terminfo(5)AUTHORS
Roy Marples <roy@NetBSD.org>November 23, 2015 | Debian |