Provided by: ncurses-doc_6.5+20250216-2_all bug

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)