---
name: "curs_legacy"
section: "3ncurses"
platform: "linux"
package: "ncurses-doc"
version: "6.4-4"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/legacy"
---

# curs\_legacy(3ncurses)

get curses cursor and window coordinates, attributes

Part of [legacy(3ncurses)](/legacy/3ncurses.md).

## NAME

curs\_legacy - get **curses** cursor and window coordinates, attributes

## SYNOPSIS

**#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***);**\

## DESCRIPTION

These legacy functions are simpler to use than the X/Open Curses functions:

- •

  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).

- •

  The **getbegy** and **getbegx** functions return the same data as **getbegyx**.

- •

  The **getcury** and **getcurx** functions return the same data as **getyx**.

- •

  The **getmaxy** and **getmaxx** functions return the same data as **getmaxyx**.

- •

  The **getpary** and **getparx** functions return the same data as **getparyx**.

## RETURN VALUE

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

## NOTES

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.

## PORTABILITY

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.

## SEE ALSO

**ncurses**(3NCURSES), **getyx**(3NCURSES), **opaque**(3NCURSES)
