Go to main content

man pages section 3: Curses Library Functions

Exit Print View

Updated: Thursday, June 13, 2019
 
 

del_curterm(3XCURSES)

Name

del_curterm, restartterm, set_curterm, setupterm - interfaces to the terminfo database

Synopsis

cc [ flag... ] file... –I /usr/xpg4/include –L /usr/xpg4/lib \
–R /usr/xpg4/lib –lcurses [ library... ]

c89 [ flag... ] file... –lcurses [ library... ]
 
#include <term.h>

int del_curterm(TERMINAL *oterm);
int restartterm(char *term, int fildes, int *errret);
TERMINAL *set_curterm(TERMINAL *nterm);
int setupterm(char *term, int fildes, int *errret);

Description

Within X/Open Curses, the setupterm() function is automatically called by the initscr (3XC) and newterm (3XC) functions. This function can be also be used outside of X/Open Curses when a program has to deal directly with the terminfo database to handle certain terminal capabilities. The use of appropriate X/Open Curses functions is recommended in all other situations.

The setupterm() function loads terminal-dependent variables for the terminfo layer of X/Open Curses. The setupterm() function initializes the terminfo variables lines and columns such that if use_env(FALSE) has been called, the terminfo values assigned in the database are used regardless of the environmental variables LINES and COLUMNS or the program's window dimensions; when use_env(TRUE) has been called, which is the default, the environment variables LINES and COLUMNS are used, if they exist. If the environment variables do not exist and the program is running in a window, the current window size is used.

The term parameter of setupterm() specifies the terminal; if null, terminal type is taken from the TERM environment variable. All output is sent to fildes which is initialized for output. If errret is not null, OK or ERR is returned and a status value is stored in the integer pointed to by errret. The following status values may be returned:

Value
Description
1
Normal
0
Terminal could not be found
-1
terminfo database could not be found

If errret is null, an error message is printed, and the setupterm() function calls the exit() function with a non-zero parameter.

The set_curterm() function sets the cur_term variable to nterm. The values from nterm as well as other state information for the terminal are used by X/Open Curses functions such as beep(3XCURSES), flash(3XCURSES), mvcur(3XCURSES), tigetflag(3XCURSES), tigetstr(3XCURSES), and tigetnum(3XCURSES).

The del_curterm() function frees the space pointed to by oterm. If oterm and the cur_term variable are the same, all Boolean, numeric, or string terminfo variables will refer to invalid memory locations until you call setupterm() and specify a new terminal type.

The restartterm() function assumes that a call to setupterm() has already been made (probably from initscr() or newterm()). It allows you to specify a new terminal type in term and updates the data returned by baudrate(3XCURSES) based on fildes. Other information created by the initscr(), newterm(), and setupterm() functions is preserved.

Parameters

oterm

Is the terminal type for which to free space.

term

Is the terminal type for which variables are set.

fildes

Is a file descriptor initialized for output.

errret

Is a pointer to an integer in which the status value is stored.

nterm

Is the new terminal to become the current terminal.

Return Values

On success, the set_curterm() function returns the previous value of cur_term. Otherwise, it returns a null pointer.

On success, the other functions return OK. Otherwise, they return ERR.

Errors

None.

Attributes

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
Unsafe
Standard

See Also

baudrate(3XCURSES), beep(3XCURSES), initscr(3XCURSES), libcurses(3XCURSES), mvcur(3XCURSES), tigetflag(3XCURSES), use_env(3XCURSES), attributes(7), standards(7)