https://invisible-island.net/ncurses/man/
curs_extend(3x) Library calls curs_extend(3x)
curses_version, use_extended_names - miscellaneous curses 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 can prevent 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(3x) extensions, and are not found in SVr4 curses, 4.4BSD curses, or any other previous curses implementation.
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 2024-09-14 curs_extend(3x)