man.bsd.lv manual page server

Manual Page Search Parameters

TERMCAP(3) Library Functions Manual TERMCAP(3)

tgetent, tgetnum, tgetflag, tgetstr, tgototerminal independent operation routines

library “libtermcap”

#include <termcap.h>

char PC;
char *BC;
char *UP;

int
tgetent(char *bp, const char *name);

int
tgetnum(const char *id);

int
tgetflag(const char *id);

char *
tgetstr(const char *id, char **area);

char *
tgoto(const char *cm, int destcol, int destline);

These functions extract and use capabilities from a terminal capability database. They exist as wrappers around equivalent terminfo(3) functions, which new code should use. These are low level routines; see curses(3) for a higher level package.

The () function calls () and configures PC, UP and BC. Only PC is actually used internally. The tgetent() function returns -1 if none of the terminfo data base files could be opened, 0 if the terminal name given does not match an entry, and 1 if all goes well. The bp argument is not used.

The () function gets the numeric value of the capability id, returning -1 if it is not given for the terminal. The () function returns 1 if the specified capability is present in the terminal's entry, 0 if it is not. The () function returns the string value of the capability id. This is a terminfo(5) string and not a termcap string; as such it should only be processed by tgoto(). The tgetstr() function returns NULL if the capability was not found. The area argument is unused.

The () function returns a cursor addressing string decoded from cm to go to column destcol in line destline, or NULL on error conditions such as out of memory. Please note that tgoto() can return an incomplete value on a malformed input sequence. Historically tgoto() used to return “OOPS” on those conditions, so newer programs should now be checking the return value.

terminfo(3), terminfo(5)

termcap first appeared in 4.0BSD. NetBSD 1.5 introduced some termcap t_*() extensions which were removed in NetBSD 6.0 when terminfo(3) was introduced.

Roy Marples <roy@NetBSD.org>

March 14, 2011 NetBSD-9.2