# curs_inch 3x 2025-02-15 ncurses 6.6 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.6                       2025-02-15                     curs_inch(3x)