Display terminals support various control codes to perform common operations such as moving the cursor, scrolling the screen, and erasing areas.
Different terminals use widely differing codes, and often have their own minor quirks.
The curses library hides all the details of different terminals, and provides the programmer with an abstraction of a display, containing multiple non-overlapping windows. If you're using an open-source Unix such as Linux or FreeBSD, your system almost certainly uses ncurses. Since most current commercial Unix versions are based on System V code, all the functions described here will probably be available. The older versions of curses carried by some proprietary Unixes may not support everything, though.