# curs_inch 3x 2025-02-15 ncurses 6.5 Library calls

    curs_inch(3x)                    Library calls                   curs_inch(3x)

## 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(3x)  explains how to extract these data
           from a chtype.  ncurses(3x) 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

           curs_in_wch(3x)  describes  comparable functions of the ncurses library
           in its wide-character configuration (ncursesw).

           curses(3x), curs_instr(3x)

    ncurses 6.5                       2025-02-15                     curs_inch(3x)