**curs_legacy(3X)** **curs_legacy(3X)**

curs_legacy - get **curses** cursor and window coordinates, attributes

**#include** **<curses.h>**
**int** **getattrs(const** **WINDOW** ******win***);**
**int** **getbegx(const** **WINDOW** ******win***);**
**int** **getbegy(const** **WINDOW** ******win***);**
**int** **getcurx(const** **WINDOW** ******win***);**
**int** **getcury(const** **WINDOW** ******win***);**
**int** **getmaxx(const** **WINDOW** ******win***);**
**int** **getmaxy(const** **WINDOW** ******win***);**
**int** **getparx(const** **WINDOW** ******win***);**
**int** **getpary(const** **WINDOW** ******win***);**

These legacy functions are simpler to use than the X/Open Curses
functions:
**o** The **getattrs** function returns the same attribute data as **wattr_get**.
However, **getattrs** returns an integer (actually a **chtype**), while
**wattr_get** returns the current color pair in a separate parameter.
In the wide-character library configuration, color pairs may not
fit into a **chtype**, so **wattr_get** is the only way to obtain the color
information.
Because **getattrs** returns the attributes in a single parameter, it
would not be possible for an application to distinguish that from
**ERR** (a *-1*). If the window parameter is null, **getattrs** returns
**A_NORMAL** (zero).
**o** The **getbegy** and **getbegx** functions return the same data as **getbegyx**.
**o** The **getcury** and **getcurx** functions return the same data as **getyx**.
**o** The **getmaxy** and **getmaxx** functions return the same data as **getmaxyx**.
**o** The **getpary** and **getparx** functions return the same data as **getparyx**.

Except as noted, these functions return an integer, or **ERR** if the
window parameter is null.

All of these interfaces are provided as macros and functions. The
macros are suppressed (and only the functions provided) when
**NCURSES_OPAQUE** is defined. The standard forms such as **getyx** must be
implemented as macros, and (in this implementation) are defined in
terms of the functions described here, to avoid reliance on internal
details of the WINDOW structure.

These functions were supported on Version 7, BSD or System V
implementations. None of those implementations checked the window
parameter.
The **getattrs** function and macro are defined to return a (signed)
integer for compatibility with those implementations although an
unsigned type would have been more appropriate.

**curses(3X)**, **curs_getyx(3X)**, **curs_opaque(3X)**
**curs_legacy(3X)**