Provided by: ncurses-doc_6.5+20250216-2build1_all 

NAME
inch, winch, mvinch, mvwinch - get a curses character from a window
SYNOPSIS
#include <curses.h>
chtype inch(void);
chtype winch(WINDOW * win);
chtype mvinch(int y, int x);
chtype mvwinch(WINDOW * win, int y, int x);
DESCRIPTION
winch returns the curses character, including its attributes and color pair identifier, at the cursor
position in the window win. Subsection “Video Attributes” of attron(3NCURSES) explains how to extract
these data from a chtype. ncurses(3NCURSES) describes the variants of this function.
RETURN VALUE
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.
NOTES
inch, mvinch, and mvwinch may be implemented as macros.
These functions do not fail if the window contains cells of curses complex characters; that is, if they
contain characters with codes wider than eight bits (or greater than 255 as an unsigned decimal integer).
They instead extract only the low-order eight bits of the character code from the cell.
PORTABILITY
X/Open Curses Issue 4 describes these functions. It specifies no error conditions for them.
HISTORY
The original curses in 4BSD (1980) defined winch as a macro accessing the WINDOW structure member
representing character cell data, at that time a char, containing only a 7-bit ASCII character code and a
“standout“ attribute bit, the only one the library supported.
SVr2 curses (1984) extended this approach, widening the character code to eight bits and permitting
several attributes to be combined with it by storing them together in a chtype, an alias of unsigned
short. Because a macro was used, its value was not type-checked as a function return value could have
been. Goodheart documented SVr3 (1987) winch as returning an int. SVr3.1's (1987) chtype became an
alias of unsigned long, using 16 bits for the character code and widening the type in practical terms to
32 bits, as 64-bit Unix systems were not yet in wide use, and fixed-width integral types would not be
standard until ISO C99. SVr3.2 (1988) added a 6-bit color pair identifier alongside the attributes.
SEE ALSO
in_wch(3NCURSES) describes comparable functions of the ncurses library in its wide-character
configuration (ncursesw).
ncurses(3NCURSES), instr(3NCURSES)
ncurses 6.5 2025-02-15 inch(3NCURSES)