---
name: "curs_extend"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/curs_extend"
---

# curs\_extend(3)

miscellaneous ncurses extensions

## NAME

**curses\_version**, **use\_extended\_names** - miscellaneous *ncurses* extensions

## SYNOPSIS

```
#include <curses.h>
```

**const char \* curses\_version(void);** **int use\_extended\_names(bool** *bf***);**

## DESCRIPTION

**These** *ncurses* **extensions to the** *curses* **library do not fit easily into other functional categories.**

### curses\_version

**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

**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)](/tic/1.md)'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*.

## RETURN VALUE

**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.**

## NOTES

**The pointer returned by** **curses\_version** **corresponds to statically allocated memory;** **do not attempt to** *free***(3) it.**

## EXTENSIONS

**These functions are** *ncurses* **extensions,** **and are not found in SVr4** *curses*, **4.4BSD** *curses*, **or any other previous** *curses* **implementation.**

## PORTABILITY

**Applications employing** *ncurses* **extensions should condition their use on the visibility of the** **NCURSES\_VERSION** **preprocessor macro.**

**NetBSD 9 added a** *curses\_version* **function** **that intentionally returns a string devoid of version information.**

## AUTHORS

**Thomas Dickey**

## SEE ALSO

*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)**
