https://invisible-island.net/ncurses/man/
curs_in_wch(3x) Library calls curs_in_wch(3x)
in_wch, win_wch, mvin_wch, mvwin_wch - get a curses complex character from a window
#include <curses.h> int in_wch(cchar_t * wch); int win_wch(WINDOW * win, cchar_t * wch); int mvin_wch(int y, int x, cchar_t * wch); int mvwin_wch(WINDOW * win, int y, int x, cchar_t * wch);
win_wch copies the curses complex character at the cursor position in win into wch. Use getcchar(3x) to extract its character code, attributes, and color pair identifier. ncurses(3x) describes the variants of this function.
These functions return OK on success and ERR on failure. In ncurses, they return ERR if win is NULL. Functions prefixed with "mv" first perform cursor movement and fail if the position (y, x) is outside the window boundaries.
in_wch, mvin_wch, and mvwin_wch may be implemented as macros. Unlike winch(3x), win_wch and its variants store the value of the retrieved character in an additional wch parameter instead of the return value.
X/Open Curses, Issue 4 describes these functions. It specifies no error conditions for them.
These functions were initially specified by X/Open Curses, Issue 4. The System V Interface Definition, Version 4 (1995), specified a function named winwch (and the usual variants). This was a later addition to SVr4.x, not appearing in the first SVr4 (1989). It differed from X/Open's later win_wch in that it returned a value of type chtype instead of cchar_t.
curs_inch(3x) describes comparable functions of the ncurses library in its non-wide-character configuration. curses(3x), curs_inwstr(3x) ncurses 6.5 2024-07-27 curs_in_wch(3x)