https://invisible-island.net/ncurses/man/
curs_termattrs(3x) Library calls curs_termattrs(3x)
baudrate, erasechar, erasewchar, has_ic, has_il, killchar, killwchar, longname, term_attrs, termattrs, termname - get and set terminal attributes with curses
#include <curses.h> int baudrate(void); char erasechar(void); int erasewchar(wchar_t * wc); bool has_ic(void); bool has_il(void); char killchar(void); int killwchar(wchar_t * wc); char * longname(void); attr_t term_attrs(void); chtype termattrs(void); char * termname(void);
baudrate returns the line speed of the terminal, an integer value measured in bits per second, for example 9600.
erasechar returns the terminal's erase character. erasewchar stores the erase character in the location referenced by wc. If no erase character has been defined, it fails and the location referenced by wc is not changed.
has_ic returns TRUE if the terminal has insert- and delete-character capabilities. has_il returns TRUE if the terminal has insert- and delete-line capabilities, or can simulate them using scrolling regions. It might be used to determine whether it would be appropriate to use scrollok(3x) to turn on scrolling.
killchar returns the terminal's line kill character. killwchar stores the line-kill character in the location referenced by wc. If no line-kill character has been defined, it fails and the location referenced by wc is not changed.
longname returns a pointer to static storage containing a verbose description of the terminal being managed by curses. The maximum length of a verbose description is 128 characters. The storage is populated only after initscr(3x) or newterm(3x) is called. This storage is overwritten by each call to newterm and not restored by set_term(3x), so its contents should be saved between calls to initscr or newterm if longname is to be used with multiple terminals.
If a given terminal does not support a video attribute that an application program is trying to use, curses may substitute a different video attribute for it. termattrs and term_attrs return a logical "or" of all video attributes supported by the terminal using A_ and WA_ constants respectively. This information is useful when a curses program needs complete control over the appearance of the screen.
termname returns the terminal name used by setupterm(3x).
longname and termname return NULL on error. Functions that return an integer return ERR upon failure and OK upon success.
erasewchar, killwchar, and term_attrs are part of ncurses's wide- character API, and are not available in its non-wide configuration. termattrs may be implemented as a macro.
X/Open Curses Issue 4 describes these functions. SVr4 describes a successful return value only as "an integer value other than ERR". Most versions of curses truncate the string returned by termname to 14 characters.
4BSD (1980) introduced longname. SVr2 (1984) added baudrate, erasechar, killchar, has_ic, and has_il. SVr3 (1987) furnished termname. SVr3.1 later that year supplied termattrs. X/Open Curses Issue 4 (1995) specified erasewchar, killwchar, and term_attrs.
curses(3x), curs_initscr(3x), curs_outopts(3x) ncurses 6.5 2025-01-18 curs_termattrs(3x)