https://invisible-island.net/ncurses/man/
curs_extend(3x) Library calls curs_extend(3x)
curses_version, use_extended_names - miscellaneous ncurses extensions
#include <curses.h>
const char * curses_version(void);
int use_extended_names(bool bf);
These ncurses extensions to the curses library do not fit easily into
other functional categories.
curses_version returns a pointer to a string containing the library's
name and version number, including its patch level, for example
"ncurses 6.5.20240720".
use_extended_names configures whether the library recognizes user-
defined or nonstandard terminfo capability names that may be compiled
into terminal type descriptions via the curs_terminfo(3x) or
curs_termcap(3x) interfaces. Normally these names are available for
use, since the essential decision is made through use of tic(1)'s -x
option to include such extensions in terminal type descriptions.
use_extended_names(FALSE) prevents ncurses from recognizing these
capabilities to ensure compatibility with other implementations of
curses.
curses_version returns a constant string.
use_extended_names returns the previous state of extended capability
name recognition, allowing you to save this property and restore it.
The pointer returned by curses_version corresponds to statically
allocated memory; do not attempt to free(3) it.
These functions are ncurses extensions, and are not found in SVr4
curses, 4.4BSD curses, or any other previous curses implementation.
NetBSD 9 added a curses_version function which intentionally returns a
string without version information.
Applications employing ncurses extensions should condition their use on
the visibility of the NCURSES_VERSION preprocessor macro.
Thomas Dickey
ncurses offers several other extensions to the X/Open Curses API.
curs_getch(3x), curs_inopts(3x), curs_mouse(3x), curs_print(3x),
curs_util(3x), default_colors(3x), define_key(3x), keybound(3x),
keyok(3x), new_pair(3x), resizeterm(3x), wresize(3x)
ncurses 6.5 2025-10-05 curs_extend(3x)