15.9. Data Definitions for libncursesw

This section defines global identifiers and their values that are associated with interfaces contained in libncursesw. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect.

This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications.

This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages.

15.9.1. ncursesw/curses.h


#define CURSES	1
#define setsyx(y,x)	do { if (newscr) { \
				 if ((y) == -1 && (x) == -1) \
					 leaveok(newscr, TRUE); \
				 else { \
					 leaveok(newscr, FALSE); \
					 wmove(newscr, (y), (x)); \
				} \
			 } \
		  } while(0)
#define getsyx(y,x)	do { if (newscr) { \
				 if (is_leaveok(newscr)) \
					 (y) = (x) = -1; \
				 else \
					 getyx(newscr,(y), (x)); \
			 } \
		 } while(0)
#define CURSES_H	1
#define NCURSES_VERSION_MAJOR	5
#define NCURSES_VERSION_MINOR	9
#define NCURSES_VERSION_PATCH	20110404
#define NCURSES_VERSION	"5.9"
#define NCURSES_MOUSE_VERSION	1
#define NCURSES_ENABLE_STDBOOL_H	1
#define NCURSES_INLINE	inline
#define NCURSES_TPARM_VARARGS	1
#ifndef TRUE
#define TRUE	1
#endif
#define NCURSES_BOOL	bool
#ifdef __cplusplus
#  define NCURSES_CAST(type,value)        static_cast<type>(value)
#else
#  define NCURSES_CAST(type,value)        (type)(value)
#endif
#define WA_ATTRIBUTES	A_ATTRIBUTES
#define WA_NORMAL	A_NORMAL
#define WA_STANDOUT	A_STANDOUT
#define WA_UNDERLINE	A_UNDERLINE
#define WA_REVERSE	A_REVERSE
#define WA_BLINK	A_BLINK
#define WA_DIM	A_DIM
#define WA_BOLD	A_BOLD
#define WA_ALTCHARSET	A_ALTCHARSET
#define WA_INVIS	A_INVIS
#define WA_PROTECT	A_PROTECT
#define WA_HORIZONTAL	A_HORIZONTAL
#define WA_LEFT	A_LEFT
#define WA_LOW	A_LOW
#define WA_RIGHT	A_RIGHT
#define WA_TOP	A_TOP
#define WA_VERTICAL	A_VERTICAL
#define COLOR_BLACK	0
#define COLOR_RED	1
#define COLOR_GREEN	2
#define COLOR_YELLOW	3
#define COLOR_BLUE	4
#define COLOR_MAGENTA	5
#define COLOR_CYAN	6
#define COLOR_WHITE	7
#define NCURSES_ACS(c)	(acs_map[NCURSES_CAST(unsigned char,c)])
#define ACS_ULCORNER	NCURSES_ACS('l')
#define ACS_LLCORNER	NCURSES_ACS('m')
#define ACS_URCORNER	NCURSES_ACS('k')
#define ACS_LRCORNER	NCURSES_ACS('j')
#define ACS_LTEE	NCURSES_ACS('t')
#define ACS_RTEE	NCURSES_ACS('u')
#define ACS_BTEE	NCURSES_ACS('v')
#define ACS_TTEE	NCURSES_ACS('w')
#define ACS_HLINE	NCURSES_ACS('q')
#define ACS_VLINE	NCURSES_ACS('x')
#define ACS_PLUS	NCURSES_ACS('n')
#define ACS_S1	NCURSES_ACS('o')
#define ACS_S9	NCURSES_ACS('s')
#define ACS_DIAMOND	NCURSES_ACS('`')
#define ACS_CKBOARD	NCURSES_ACS('a')
#define ACS_DEGREE	NCURSES_ACS('f')
#define ACS_PLMINUS	NCURSES_ACS('g')
#define ACS_BULLET	NCURSES_ACS('~')
#define ACS_LARROW	NCURSES_ACS(',')
#define ACS_RARROW	NCURSES_ACS('+')
#define ACS_DARROW	NCURSES_ACS('.')
#define ACS_UARROW	NCURSES_ACS('-')
#define ACS_BOARD	NCURSES_ACS('h')
#define ACS_LANTERN	NCURSES_ACS('i')
#define ACS_BLOCK	NCURSES_ACS('0')
#define ACS_S3	NCURSES_ACS('p')
#define ACS_S7	NCURSES_ACS('r')
#define ACS_LEQUAL	NCURSES_ACS('y')
#define ACS_GEQUAL	NCURSES_ACS('z')
#define ACS_PI	NCURSES_ACS('{')
#define ACS_NEQUAL	NCURSES_ACS('|')
#define ACS_STERLING	NCURSES_ACS('}')
#define ACS_BSSB	ACS_ULCORNER
#define ACS_SSBB	ACS_LLCORNER
#define ACS_BBSS	ACS_URCORNER
#define ACS_SBBS	ACS_LRCORNER
#define ACS_SBSS	ACS_RTEE
#define ACS_SSSB	ACS_LTEE
#define ACS_SSBS	ACS_BTEE
#define ACS_BSSS	ACS_TTEE
#define ACS_BSBS	ACS_HLINE
#define ACS_SBSB	ACS_VLINE
#define ACS_SSSS	ACS_PLUS
#define ERR	(-1)
#define OK	(0)
#define _SUBWIN	0x01
#define _ENDLINE	0x02
#define _FULLWIN	0x04
#define _SCROLLWIN	0x08
#define _ISPAD	0x10
#define _HASMOVED	0x20
#define _WRAPPED	0x40
#define _NOCHANGE	-1
#define _NEWINDEX	-1
#define CCHARW_MAX	5
#define NCURSES_EXT_COLORS	20110404
#define GCC_PRINTFLIKE(fmt,var)	__attribute__((format(printf,fmt,var)))
#define GCC_SCANFLIKE(fmt,var)	__attribute__((format(scanf,fmt,var)))
#define NCURSES_EXT_FUNCS	20110404
#define curses_version()	NCURSES_VERSION
#define NCURSES_SP_FUNCS	20110404
#define NCURSES_SP_OUTC	NCURSES_SP_NAME(NCURSES_OUTC)
#define NCURSES_SP_NAME(name)	name
#define NCURSES_ATTR_SHIFT	8
#define NCURSES_BITS(mask,shift)	((mask) << ((shift) + NCURSES_ATTR_SHIFT))
#define A_NORMAL	(1UL - 1UL)
#define A_ATTRIBUTES	NCURSES_BITS(~(1UL - 1UL),0)
#define A_CHARTEXT	(NCURSES_BITS(1UL,0) - 1UL)
#define A_COLOR	NCURSES_BITS(((1UL) << 8) - 1UL,0)
#define A_STANDOUT	NCURSES_BITS(1UL,8)
#define A_UNDERLINE	NCURSES_BITS(1UL,9)
#define A_REVERSE	NCURSES_BITS(1UL,10)
#define A_BLINK	NCURSES_BITS(1UL,11)
#define A_DIM	NCURSES_BITS(1UL,12)
#define A_BOLD	NCURSES_BITS(1UL,13)
#define A_ALTCHARSET	NCURSES_BITS(1UL,14)
#define A_INVIS	NCURSES_BITS(1UL,15)
#define A_PROTECT	NCURSES_BITS(1UL,16)
#define A_HORIZONTAL	NCURSES_BITS(1UL,17)
#define A_LEFT	NCURSES_BITS(1UL,18)
#define A_LOW	NCURSES_BITS(1UL,19)
#define A_RIGHT	NCURSES_BITS(1UL,20)
#define A_TOP	NCURSES_BITS(1UL,21)
#define A_VERTICAL	NCURSES_BITS(1UL,22)
#define getyx(win,y,x)	(y = getcury(win), x = getcurx(win))
#define getbegyx(win,y,x)	(y = getbegy(win), x = getbegx(win))
#define getmaxyx(win,y,x)	(y = getmaxy(win), x = getmaxx(win))
#define getparyx(win,y,x)	(y = getpary(win), x = getparx(win))
#define wgetstr(w, s)	wgetnstr(w, s, -1)
#define getnstr(s, n)	wgetnstr(stdscr, s, n)
#define setterm(term)	setupterm(term, 1, (int *)0)
#define fixterm()	reset_prog_mode()
#define resetterm()	reset_shell_mode()
#define saveterm()	def_prog_mode()
#define crmode()	cbreak()
#define nocrmode()	nocbreak()
#define getattrs(win)	NCURSES_CAST(int, (win) ? (win)->_attrs : A_NORMAL)
#define getcurx(win)	((win) ? (win)->_curx : ERR)
#define getcury(win)	((win) ? (win)->_cury : ERR)
#define getbegx(win)	((win) ? (win)->_begx : ERR)
#define getbegy(win)	((win) ? (win)->_begy : ERR)
#define getmaxx(win)	((win) ? ((win)->_maxx + 1) : ERR)
#define getmaxy(win)	((win) ? ((win)->_maxy + 1) : ERR)
#define getparx(win)	((win) ? (win)->_parx : ERR)
#define getpary(win)	((win) ? (win)->_pary : ERR)
#define wstandout(win)	(wattrset(win,A_STANDOUT))
#define wstandend(win)	(wattrset(win,A_NORMAL))
#define wattron(win,at)	wattr_on(win, NCURSES_CAST(attr_t, at), NULL)
#define wattroff(win,at)	wattr_off(win, NCURSES_CAST(attr_t, at), NULL)
#define scroll(win)	wscrl(win,1)
#define touchwin(win)	wtouchln((win), 0, getmaxy(win), 1)
#define touchline(win, s, c)	wtouchln((win), s, c, 1)
#define untouchwin(win)	wtouchln((win), 0, getmaxy(win), 0)
#define box(win, v, h)	wborder(win, v, v, h, h, 0, 0, 0, 0)
#define border(ls, rs, ts, bs, tl, tr, bl, br)	wborder(stdscr, ls, rs, ts, bs, tl, tr, bl, br)
#define hline(ch, n)	whline(stdscr, ch, n)
#define vline(ch, n)	wvline(stdscr, ch, n)
#define winstr(w, s)	winnstr(w, s, -1)
#define winchstr(w, s)	winchnstr(w, s, -1)
#define winsstr(w, s)	winsnstr(w, s, -1)
#define redrawwin(win)	wredrawln(win, 0, (win)->_maxy+1)
#define waddstr(win,str)	waddnstr(win,str,-1)
#define waddchstr(win,str)	waddchnstr(win,str,-1)
#define COLOR_PAIR(n)	NCURSES_BITS(n, 0)
#define PAIR_NUMBER(a)	(NCURSES_CAST(int,((NCURSES_CAST(unsigned long,a) & A_COLOR) >> NCURSES_ATTR_SHIFT)))
#define addch(ch)	waddch(stdscr,ch)
#define addchnstr(str,n)	waddchnstr(stdscr,str,n)
#define addchstr(str)	waddchstr(stdscr,str)
#define addnstr(str,n)	waddnstr(stdscr,str,n)
#define addstr(str)	waddnstr(stdscr,str,-1)
#define attroff(at)	wattroff(stdscr,at)
#define attron(at)	wattron(stdscr,at)
#define attrset(at)	wattrset(stdscr,at)
#define attr_get(ap,cp,o)	wattr_get(stdscr,ap,cp,o)
#define attr_off(a,o)	wattr_off(stdscr,a,o)
#define attr_on(a,o)	wattr_on(stdscr,a,o)
#define attr_set(a,c,o)	wattr_set(stdscr,a,c,o)
#define bkgd(ch)	wbkgd(stdscr,ch)
#define bkgdset(ch)	wbkgdset(stdscr,ch)
#define chgat(n,a,c,o)	wchgat(stdscr,n,a,c,o)
#define clear()	wclear(stdscr)
#define clrtobot()	wclrtobot(stdscr)
#define clrtoeol()	wclrtoeol(stdscr)
#define color_set(c,o)	wcolor_set(stdscr,c,o)
#define delch()	wdelch(stdscr)
#define deleteln()	winsdelln(stdscr,-1)
#define echochar(c)	wechochar(stdscr,c)
#define erase()	werase(stdscr)
#define getch()	wgetch(stdscr)
#define getstr(str)	wgetstr(stdscr,str)
#define inch()	winch(stdscr)
#define inchnstr(s,n)	winchnstr(stdscr,s,n)
#define inchstr(s)	winchstr(stdscr,s)
#define innstr(s,n)	winnstr(stdscr,s,n)
#define insch(c)	winsch(stdscr,c)
#define insdelln(n)	winsdelln(stdscr,n)
#define insertln()	winsdelln(stdscr,1)
#define insnstr(s,n)	winsnstr(stdscr,s,n)
#define insstr(s)	winsstr(stdscr,s)
#define instr(s)	winstr(stdscr,s)
#define move(y,x)	wmove(stdscr,y,x)
#define refresh()	wrefresh(stdscr)
#define scrl(n)	wscrl(stdscr,n)
#define setscrreg(t,b)	wsetscrreg(stdscr,t,b)
#define standend()	wstandend(stdscr)
#define standout()	wstandout(stdscr)
#define timeout(delay)	wtimeout(stdscr,delay)
#define wdeleteln(win)	winsdelln(win,-1)
#define winsertln(win)	winsdelln(win,1)
#define mvwaddch(win,y,x,ch)	(wmove(win,y,x) == ERR ? ERR : waddch(win,ch))
#define mvwaddchnstr(win,y,x,str,n)	(wmove(win,y,x) == ERR ? ERR : waddchnstr(win,str,n))
#define mvwaddchstr(win,y,x,str)	(wmove(win,y,x) == ERR ? ERR : waddchnstr(win,str,-1))
#define mvwaddnstr(win,y,x,str,n)	(wmove(win,y,x) == ERR ? ERR : waddnstr(win,str,n))
#define mvwaddstr(win,y,x,str)	(wmove(win,y,x) == ERR ? ERR : waddnstr(win,str,-1))
#define mvwdelch(win,y,x)	(wmove(win,y,x) == ERR ? ERR : wdelch(win))
#define mvwchgat(win,y,x,n,a,c,o)	(wmove(win,y,x) == ERR ? ERR : wchgat(win,n,a,c,o))
#define mvwgetch(win,y,x)	(wmove(win,y,x) == ERR ? ERR : wgetch(win))
#define mvwgetnstr(win,y,x,str,n)	(wmove(win,y,x) == ERR ? ERR : wgetnstr(win,str,n))
#define mvwgetstr(win,y,x,str)	(wmove(win,y,x) == ERR ? ERR : wgetstr(win,str))
#define mvwhline(win,y,x,c,n)	(wmove(win,y,x) == ERR ? ERR : whline(win,c,n))
#define mvwinch(win,y,x)	(wmove(win,y,x) == ERR ? NCURSES_CAST(chtype, ERR) : winch(win))
#define mvwinchnstr(win,y,x,s,n)	(wmove(win,y,x) == ERR ? ERR : winchnstr(win,s,n))
#define mvwinchstr(win,y,x,s)	(wmove(win,y,x) == ERR ? ERR : winchstr(win,s))
#define mvwinnstr(win,y,x,s,n)	(wmove(win,y,x) == ERR ? ERR : winnstr(win,s,n))
#define mvwinsch(win,y,x,c)	(wmove(win,y,x) == ERR ? ERR : winsch(win,c))
#define mvwinsnstr(win,y,x,s,n)	(wmove(win,y,x) == ERR ? ERR : winsnstr(win,s,n))
#define mvwinsstr(win,y,x,s)	(wmove(win,y,x) == ERR ? ERR : winsstr(win,s))
#define mvwinstr(win,y,x,s)	(wmove(win,y,x) == ERR ? ERR : winstr(win,s))
#define mvwvline(win,y,x,c,n)	(wmove(win,y,x) == ERR ? ERR : wvline(win,c,n))
#define mvaddch(y,x,ch)	mvwaddch(stdscr,y,x,ch)
#define mvaddchnstr(y,x,str,n)	mvwaddchnstr(stdscr,y,x,str,n)
#define mvaddchstr(y,x,str)	mvwaddchstr(stdscr,y,x,str)
#define mvaddnstr(y,x,str,n)	mvwaddnstr(stdscr,y,x,str,n)
#define mvaddstr(y,x,str)	mvwaddstr(stdscr,y,x,str)
#define mvchgat(y,x,n,a,c,o)	mvwchgat(stdscr,y,x,n,a,c,o)
#define mvdelch(y,x)	mvwdelch(stdscr,y,x)
#define mvgetch(y,x)	mvwgetch(stdscr,y,x)
#define mvgetnstr(y,x,str,n)	mvwgetnstr(stdscr,y,x,str,n)
#define mvgetstr(y,x,str)	mvwgetstr(stdscr,y,x,str)
#define mvhline(y,x,c,n)	mvwhline(stdscr,y,x,c,n)
#define mvinch(y,x)	mvwinch(stdscr,y,x)
#define mvinchnstr(y,x,s,n)	mvwinchnstr(stdscr,y,x,s,n)
#define mvinchstr(y,x,s)	mvwinchstr(stdscr,y,x,s)
#define mvinnstr(y,x,s,n)	mvwinnstr(stdscr,y,x,s,n)
#define mvinsch(y,x,c)	mvwinsch(stdscr,y,x,c)
#define mvinsnstr(y,x,s,n)	mvwinsnstr(stdscr,y,x,s,n)
#define mvinsstr(y,x,s)	mvwinsstr(stdscr,y,x,s)
#define mvinstr(y,x,s)	mvwinstr(stdscr,y,x,s)
#define mvvline(y,x,c,n)	mvwvline(stdscr,y,x,c,n)
#define getbkgd(win)	((win)->_bkgd)
#define slk_attr_off(a,v)	((v) ? ERR : slk_attroff(a))
#define slk_attr_on(a,v)	((v) ? ERR : slk_attron(a))
#define wattr_set(win,a,p,opts)	((win)->_attrs = (((a) & ~A_COLOR) | (attr_t)COLOR_PAIR(p)), OK)
#define vw_printw	vwprintw
#define vw_scanw	vwscanw
#define vsscanf(a,b,c)	_nc_vsscanf(a,b,c)
#define is_cleared(win)	((win) ? (win)->_clear : FALSE)
#define is_idcok(win)	((win) ? (win)->_idcok : FALSE)
#define is_idlok(win)	((win) ? (win)->_idlok : FALSE)
#define is_immedok(win)	((win) ? (win)->_immed : FALSE)
#define is_keypad(win)	((win) ? (win)->_use_keypad : FALSE)
#define is_leaveok(win)	((win) ? (win)->_leaveok : FALSE)
#define is_nodelay(win)	((win) ? ((win)->_delay == 0) : FALSE)
#define is_notimeout(win)	((win) ? (win)->_notimeout : FALSE)
#define is_pad(win)	((win) ? ((win)->_flags & _ISPAD) != 0 : FALSE)
#define is_scrollok(win)	((win) ? (win)->_scroll : FALSE)
#define is_subwin(win)	((win) ? ((win)->_flags & _SUBWIN) != 0 : FALSE)
#define is_syncok(win)	((win) ? (win)->_sync : FALSE)
#define wgetparent(win)	((win) ? (win)->_parent : 0)
#define wgetscrreg(win,t,b)	((win) ? (*(t) = (win)->_regtop, *(b) = (win)->_regbottom, OK) : ERR)
#define KEY_CODE_YES	0400
#define KEY_MIN	0401
#define KEY_BREAK	0401
#define KEY_SRESET	0530
#define KEY_RESET	0531
#define KEY_DOWN	0402
#define KEY_UP	0403
#define KEY_LEFT	0404
#define KEY_RIGHT	0405
#define KEY_HOME	0406
#define KEY_BACKSPACE	0407
#define KEY_F0	0410
#define KEY_F(n)	(KEY_F0+(n))
#define KEY_DL	0510
#define KEY_IL	0511
#define KEY_DC	0512
#define KEY_IC	0513
#define KEY_EIC	0514
#define KEY_CLEAR	0515
#define KEY_EOS	0516
#define KEY_EOL	0517
#define KEY_SF	0520
#define KEY_SR	0521
#define KEY_NPAGE	0522
#define KEY_PPAGE	0523
#define KEY_STAB	0524
#define KEY_CTAB	0525
#define KEY_CATAB	0526
#define KEY_ENTER	0527
#define KEY_PRINT	0532
#define KEY_LL	0533
#define KEY_A1	0534
#define KEY_A3	0535
#define KEY_B2	0536
#define KEY_C1	0537
#define KEY_C3	0540
#define KEY_BTAB	0541
#define KEY_BEG	0542
#define KEY_CANCEL	0543
#define KEY_CLOSE	0544
#define KEY_COMMAND	0545
#define KEY_COPY	0546
#define KEY_CREATE	0547
#define KEY_END	0550
#define KEY_EXIT	0551
#define KEY_FIND	0552
#define KEY_HELP	0553
#define KEY_MARK	0554
#define KEY_MESSAGE	0555
#define KEY_MOVE	0556
#define KEY_NEXT	0557
#define KEY_OPEN	0560
#define KEY_OPTIONS	0561
#define KEY_PREVIOUS	0562
#define KEY_REDO	0563
#define KEY_REFERENCE	0564
#define KEY_REFRESH	0565
#define KEY_REPLACE	0566
#define KEY_RESTART	0567
#define KEY_RESUME	0570
#define KEY_SAVE	0571
#define KEY_SBEG	0572
#define KEY_SCANCEL	0573
#define KEY_SCOMMAND	0574
#define KEY_SCOPY	0575
#define KEY_SCREATE	0576
#define KEY_SDC	0577
#define KEY_SDL	0600
#define KEY_SELECT	0601
#define KEY_SEND	0602
#define KEY_SEOL	0603
#define KEY_SEXIT	0604
#define KEY_SFIND	0605
#define KEY_SHELP	0606
#define KEY_SHOME	0607
#define KEY_SIC	0610
#define KEY_SLEFT	0611
#define KEY_SMESSAGE	0612
#define KEY_SMOVE	0613
#define KEY_SNEXT	0614
#define KEY_SOPTIONS	0615
#define KEY_SPREVIOUS	0616
#define KEY_SPRINT	0617
#define KEY_SREDO	0620
#define KEY_SREPLACE	0621
#define KEY_SRIGHT	0622
#define KEY_SRSUME	0623
#define KEY_SSAVE	0624
#define KEY_SSUSPEND	0625
#define KEY_SUNDO	0626
#define KEY_SUSPEND	0627
#define KEY_UNDO	0630
#define KEY_MOUSE	0631
#define KEY_RESIZE	0632
#define KEY_EVENT	0633
#define KEY_MAX	0777
#define _XOPEN_CURSES	1
#define NCURSES_WACS(c)	(&_nc_wacs[(unsigned char)c])
#define WACS_BSSB	NCURSES_WACS('l')
#define WACS_SSBB	NCURSES_WACS('m')
#define WACS_BBSS	NCURSES_WACS('k')
#define WACS_SBBS	NCURSES_WACS('j')
#define WACS_SBSS	NCURSES_WACS('u')
#define WACS_SSSB	NCURSES_WACS('t')
#define WACS_SSBS	NCURSES_WACS('v')
#define WACS_BSSS	NCURSES_WACS('w')
#define WACS_BSBS	NCURSES_WACS('q')
#define WACS_SBSB	NCURSES_WACS('x')
#define WACS_SSSS	NCURSES_WACS('n')
#define WACS_ULCORNER	WACS_BSSB
#define WACS_LLCORNER	WACS_SSBB
#define WACS_URCORNER	WACS_BBSS
#define WACS_LRCORNER	WACS_SBBS
#define WACS_RTEE	WACS_SBSS
#define WACS_LTEE	WACS_SSSB
#define WACS_BTEE	WACS_SSBS
#define WACS_TTEE	WACS_BSSS
#define WACS_HLINE	WACS_BSBS
#define WACS_VLINE	WACS_SBSB
#define WACS_PLUS	WACS_SSSS
#define WACS_S1	NCURSES_WACS('o')
#define WACS_S9	NCURSES_WACS('s')
#define WACS_DIAMOND	NCURSES_WACS('`')
#define WACS_CKBOARD	NCURSES_WACS('a')
#define WACS_DEGREE	NCURSES_WACS('f')
#define WACS_PLMINUS	NCURSES_WACS('g')
#define WACS_BULLET	NCURSES_WACS('~')
#define WACS_LARROW	NCURSES_WACS(',')
#define WACS_RARROW	NCURSES_WACS('+')
#define WACS_DARROW	NCURSES_WACS('.')
#define WACS_UARROW	NCURSES_WACS('-')
#define WACS_BOARD	NCURSES_WACS('h')
#define WACS_LANTERN	NCURSES_WACS('i')
#define WACS_BLOCK	NCURSES_WACS('0')
#define WACS_S3	NCURSES_WACS('p')
#define WACS_S7	NCURSES_WACS('r')
#define WACS_LEQUAL	NCURSES_WACS('y')
#define WACS_GEQUAL	NCURSES_WACS('z')
#define WACS_PI	NCURSES_WACS('{')
#define WACS_NEQUAL	NCURSES_WACS('|')
#define WACS_STERLING	NCURSES_WACS('}')
#define WACS_BDDB	NCURSES_WACS('C')
#define WACS_DDBB	NCURSES_WACS('D')
#define WACS_BBDD	NCURSES_WACS('B')
#define WACS_DBBD	NCURSES_WACS('A')
#define WACS_DBDD	NCURSES_WACS('G')
#define WACS_DDDB	NCURSES_WACS('F')
#define WACS_DDBD	NCURSES_WACS('H')
#define WACS_BDDD	NCURSES_WACS('I')
#define WACS_BDBD	NCURSES_WACS('R')
#define WACS_DBDB	NCURSES_WACS('Y')
#define WACS_DDDD	NCURSES_WACS('E')
#define WACS_D_ULCORNER	WACS_BDDB
#define WACS_D_LLCORNER	WACS_DDBB
#define WACS_D_URCORNER	WACS_BBDD
#define WACS_D_LRCORNER	WACS_DBBD
#define WACS_D_RTEE	WACS_DBDD
#define WACS_D_LTEE	WACS_DDDB
#define WACS_D_BTEE	WACS_DDBD
#define WACS_D_TTEE	WACS_BDDD
#define WACS_D_HLINE	WACS_BDBD
#define WACS_D_VLINE	WACS_DBDB
#define WACS_D_PLUS	WACS_DDDD
#define WACS_BTTB	NCURSES_WACS('L')
#define WACS_TTBB	NCURSES_WACS('M')
#define WACS_BBTT	NCURSES_WACS('K')
#define WACS_TBBT	NCURSES_WACS('J')
#define WACS_TBTT	NCURSES_WACS('U')
#define WACS_TTTB	NCURSES_WACS('T')
#define WACS_TTBT	NCURSES_WACS('V')
#define WACS_BTTT	NCURSES_WACS('W')
#define WACS_BTBT	NCURSES_WACS('Q')
#define WACS_TBTB	NCURSES_WACS('X')
#define WACS_TTTT	NCURSES_WACS('N')
#define WACS_T_ULCORNER	WACS_BTTB
#define WACS_T_LLCORNER	WACS_TTBB
#define WACS_T_URCORNER	WACS_BBTT
#define WACS_T_LRCORNER	WACS_TBBT
#define WACS_T_RTEE	WACS_TBTT
#define WACS_T_LTEE	WACS_TTTB
#define WACS_T_BTEE	WACS_TTBT
#define WACS_T_TTEE	WACS_BTTT
#define WACS_T_HLINE	WACS_BTBT
#define WACS_T_VLINE	WACS_TBTB
#define WACS_T_PLUS	WACS_TTTT
#define add_wch(c)	wadd_wch(stdscr,c)
#define add_wchnstr(str,n)	wadd_wchnstr(stdscr,str,n)
#define add_wchstr(str)	wadd_wchstr(stdscr,str)
#define addnwstr(wstr,n)	waddnwstr(stdscr,wstr,n)
#define addwstr(wstr)	waddwstr(stdscr,wstr)
#define bkgrnd(c)	wbkgrnd(stdscr,c)
#define bkgrndset(c)	wbkgrndset(stdscr,c)
#define border_set(l,r,t,b,tl,tr,bl,br)	wborder_set(stdscr,l,r,t,b,tl,tr,bl,br)
#define box_set(w,v,h)	wborder_set(w,v,v,h,h,0,0,0,0)
#define echo_wchar(c)	wecho_wchar(stdscr,c)
#define get_wch(c)	wget_wch(stdscr,c)
#define get_wstr(t)	wget_wstr(stdscr,t)
#define getbkgrnd(wch)	wgetbkgrnd(stdscr,wch)
#define getn_wstr(t,n)	wgetn_wstr(stdscr,t,n)
#define hline_set(c,n)	whline_set(stdscr,c,n)
#define in_wch(c)	win_wch(stdscr,c)
#define in_wchnstr(c,n)	win_wchnstr(stdscr,c,n)
#define in_wchstr(c)	win_wchstr(stdscr,c)
#define innwstr(c,n)	winnwstr(stdscr,c,n)
#define ins_nwstr(t,n)	wins_nwstr(stdscr,t,n)
#define ins_wch(c)	wins_wch(stdscr,c)
#define ins_wstr(t)	wins_wstr(stdscr,t)
#define inwstr(c)	winwstr(stdscr,c)
#define vline_set(c,n)	wvline_set(stdscr,c,n)
#define wadd_wchstr(win,str)	wadd_wchnstr(win,str,-1)
#define waddwstr(win,wstr)	waddnwstr(win,wstr,-1)
#define wget_wstr(w,t)	wgetn_wstr(w,t,-1)
#define win_wchstr(w,c)	win_wchnstr(w,c,-1)
#define wins_wstr(w,t)	wins_nwstr(w,t,-1)
#define wgetbkgrnd(win,wch)	(*wch = win->_bkgrnd, OK)
#define mvadd_wch(y,x,c)	mvwadd_wch(stdscr,y,x,c)
#define mvadd_wchnstr(y,x,s,n)	mvwadd_wchnstr(stdscr,y,x,s,n)
#define mvadd_wchstr(y,x,s)	mvwadd_wchstr(stdscr,y,x,s)
#define mvaddnwstr(y,x,wstr,n)	mvwaddnwstr(stdscr,y,x,wstr,n)
#define mvaddwstr(y,x,wstr)	mvwaddwstr(stdscr,y,x,wstr)
#define mvget_wch(y,x,c)	mvwget_wch(stdscr,y,x,c)
#define mvget_wstr(y,x,t)	mvwget_wstr(stdscr,y,x,t)
#define mvgetn_wstr(y,x,t,n)	mvwgetn_wstr(stdscr,y,x,t,n)
#define mvhline_set(y,x,c,n)	mvwhline_set(stdscr,y,x,c,n)
#define mvin_wch(y,x,c)	mvwin_wch(stdscr,y,x,c)
#define mvin_wchnstr(y,x,c,n)	mvwin_wchnstr(stdscr,y,x,c,n)
#define mvin_wchstr(y,x,c)	mvwin_wchstr(stdscr,y,x,c)
#define mvinnwstr(y,x,c,n)	mvwinnwstr(stdscr,y,x,c,n)
#define mvins_nwstr(y,x,t,n)	mvwins_nwstr(stdscr,y,x,t,n)
#define mvins_wch(y,x,c)	mvwins_wch(stdscr,y,x,c)
#define mvins_wstr(y,x,t)	mvwins_wstr(stdscr,y,x,t)
#define mvinwstr(y,x,c)	mvwinwstr(stdscr,y,x,c)
#define mvvline_set(y,x,c,n)	mvwvline_set(stdscr,y,x,c,n)
#define mvwadd_wch(win,y,x,c)	(wmove(win,y,x) == ERR ? ERR : wadd_wch(win,c))
#define mvwadd_wchnstr(win,y,x,s,n)	(wmove(win,y,x) == ERR ? ERR : wadd_wchnstr(win,s,n))
#define mvwadd_wchstr(win,y,x,s)	(wmove(win,y,x) == ERR ? ERR : wadd_wchstr(win,s))
#define mvwaddnwstr(win,y,x,wstr,n)	(wmove(win,y,x) == ERR ? ERR : waddnwstr(win,wstr,n))
#define mvwaddwstr(win,y,x,wstr)	(wmove(win,y,x) == ERR ? ERR : waddwstr(win,wstr))
#define mvwget_wch(win,y,x,c)	(wmove(win,y,x) == ERR ? ERR : wget_wch(win,c))
#define mvwget_wstr(win,y,x,t)	(wmove(win,y,x) == ERR ? ERR : wget_wstr(win,t))
#define mvwgetn_wstr(win,y,x,t,n)	(wmove(win,y,x) == ERR ? ERR : wgetn_wstr(win,t,n))
#define mvwhline_set(win,y,x,c,n)	(wmove(win,y,x) == ERR ? ERR : whline_set(win,c,n))
#define mvwin_wch(win,y,x,c)	(wmove(win,y,x) == ERR ? ERR : win_wch(win,c))
#define mvwin_wchnstr(win,y,x,c,n)	(wmove(win,y,x) == ERR ? ERR : win_wchnstr(win,c,n))
#define mvwin_wchstr(win,y,x,c)	(wmove(win,y,x) == ERR ? ERR : win_wchstr(win,c))
#define mvwinnwstr(win,y,x,c,n)	(wmove(win,y,x) == ERR ? ERR : winnwstr(win,c,n))
#define mvwins_nwstr(win,y,x,t,n)	(wmove(win,y,x) == ERR ? ERR : wins_nwstr(win,t,n))
#define mvwins_wch(win,y,x,c)	(wmove(win,y,x) == ERR ? ERR : wins_wch(win,c))
#define mvwins_wstr(win,y,x,t)	(wmove(win,y,x) == ERR ? ERR : wins_wstr(win,t))
#define mvwinwstr(win,y,x,c)	(wmove(win,y,x) == ERR ? ERR : winwstr(win,c))
#define mvwvline_set(win,y,x,c,n)	(wmove(win,y,x) == ERR ? ERR : wvline_set(win,c,n))
#define NCURSES_MOUSE_MASK(b,m)	((m) << (((b) - 1) * 6))
#define NCURSES_BUTTON_RELEASED	001L
#define NCURSES_BUTTON_PRESSED	002L
#define NCURSES_BUTTON_CLICKED	004L
#define NCURSES_DOUBLE_CLICKED	010L
#define NCURSES_TRIPLE_CLICKED	020L
#define NCURSES_RESERVED_EVENT	040L
#define BUTTON1_RELEASED	NCURSES_MOUSE_MASK(1, NCURSES_BUTTON_RELEASED)
#define BUTTON1_PRESSED	NCURSES_MOUSE_MASK(1, NCURSES_BUTTON_PRESSED)
#define BUTTON1_CLICKED	NCURSES_MOUSE_MASK(1, NCURSES_BUTTON_CLICKED)
#define BUTTON1_DOUBLE_CLICKED	NCURSES_MOUSE_MASK(1, NCURSES_DOUBLE_CLICKED)
#define BUTTON1_TRIPLE_CLICKED	NCURSES_MOUSE_MASK(1, NCURSES_TRIPLE_CLICKED)
#define BUTTON2_RELEASED	NCURSES_MOUSE_MASK(2, NCURSES_BUTTON_RELEASED)
#define BUTTON2_PRESSED	NCURSES_MOUSE_MASK(2, NCURSES_BUTTON_PRESSED)
#define BUTTON2_CLICKED	NCURSES_MOUSE_MASK(2, NCURSES_BUTTON_CLICKED)
#define BUTTON2_DOUBLE_CLICKED	NCURSES_MOUSE_MASK(2, NCURSES_DOUBLE_CLICKED)
#define BUTTON2_TRIPLE_CLICKED	NCURSES_MOUSE_MASK(2, NCURSES_TRIPLE_CLICKED)
#define BUTTON3_RELEASED	NCURSES_MOUSE_MASK(3, NCURSES_BUTTON_RELEASED)
#define BUTTON3_PRESSED	NCURSES_MOUSE_MASK(3, NCURSES_BUTTON_PRESSED)
#define BUTTON3_CLICKED	NCURSES_MOUSE_MASK(3, NCURSES_BUTTON_CLICKED)
#define BUTTON3_DOUBLE_CLICKED	NCURSES_MOUSE_MASK(3, NCURSES_DOUBLE_CLICKED)
#define BUTTON3_TRIPLE_CLICKED	NCURSES_MOUSE_MASK(3, NCURSES_TRIPLE_CLICKED)
#define BUTTON4_RELEASED	NCURSES_MOUSE_MASK(4, NCURSES_BUTTON_RELEASED)
#define BUTTON4_PRESSED	NCURSES_MOUSE_MASK(4, NCURSES_BUTTON_PRESSED)
#define BUTTON4_CLICKED	NCURSES_MOUSE_MASK(4, NCURSES_BUTTON_CLICKED)
#define BUTTON4_DOUBLE_CLICKED	NCURSES_MOUSE_MASK(4, NCURSES_DOUBLE_CLICKED)
#define BUTTON4_TRIPLE_CLICKED	NCURSES_MOUSE_MASK(4, NCURSES_TRIPLE_CLICKED)
#define BUTTON5_RELEASED	NCURSES_MOUSE_MASK(5, NCURSES_BUTTON_RELEASED)
#define BUTTON5_PRESSED	NCURSES_MOUSE_MASK(5, NCURSES_BUTTON_PRESSED)
#define BUTTON5_CLICKED	NCURSES_MOUSE_MASK(5, NCURSES_BUTTON_CLICKED)
#define BUTTON5_DOUBLE_CLICKED	NCURSES_MOUSE_MASK(5, NCURSES_DOUBLE_CLICKED)
#define BUTTON5_TRIPLE_CLICKED	NCURSES_MOUSE_MASK(5, NCURSES_TRIPLE_CLICKED)
#define BUTTON_CTRL	NCURSES_MOUSE_MASK(6, 0001L)
#define BUTTON_SHIFT	NCURSES_MOUSE_MASK(6, 0002L)
#define BUTTON_ALT	NCURSES_MOUSE_MASK(6, 0004L)
#define REPORT_MOUSE_POSITION	NCURSES_MOUSE_MASK(6, 0010L)
#define BUTTON1_RESERVED_EVENT	NCURSES_MOUSE_MASK(1, NCURSES_RESERVED_EVENT)
#define BUTTON2_RESERVED_EVENT	NCURSES_MOUSE_MASK(2, NCURSES_RESERVED_EVENT)
#define BUTTON3_RESERVED_EVENT	NCURSES_MOUSE_MASK(3, NCURSES_RESERVED_EVENT)
#define BUTTON4_RESERVED_EVENT	NCURSES_MOUSE_MASK(4, NCURSES_RESERVED_EVENT)
#define ALL_MOUSE_EVENTS	(REPORT_MOUSE_POSITION - 1)
#define BUTTON_RELEASE(e,	x) ((e) & NCURSES_MOUSE_MASK(x, 001))
#define BUTTON_PRESS(e,	x) ((e) & NCURSES_MOUSE_MASK(x, 002))
#define BUTTON_CLICK(e,	x) ((e) & NCURSES_MOUSE_MASK(x, 004))
#define BUTTON_DOUBLE_CLICK(e,	x) ((e) & NCURSES_MOUSE_MASK(x, 010))
#define BUTTON_TRIPLE_CLICK(e,	x) ((e) & NCURSES_MOUSE_MASK(x, 020))
#define BUTTON_RESERVED_EVENT(e,	x) ((e) & NCURSES_MOUSE_MASK(x, 040))
#define mouse_trafo(y,x,to_screen)	wmouse_trafo(stdscr,y,x,to_screen)
#define _tracech_t	_tracecchar_t
#define _tracech_t2	_tracecchar_t2
#define TRACE_DISABLE	0x0000
#define TRACE_TIMES	0x0001
#define TRACE_TPUTS	0x0002
#define TRACE_UPDATE	0x0004
#define TRACE_MOVE	0x0008
#define TRACE_CHARPUT	0x0010
#define TRACE_ORDINARY	0x001F
#define TRACE_CALLS	0x0020
#define TRACE_VIRTPUT	0x0040
#define TRACE_IEVENT	0x0080
#define TRACE_BITS	0x0100
#define TRACE_ICALLS	0x0200
#define TRACE_CCALLS	0x0400
#define TRACE_DATABASE	0x0800
#define TRACE_ATTRS	0x1000
#define TRACE_SHIFT	13
#define TRACE_MAXIMUM	((1 << TRACE_SHIFT) - 1)
#define OPTIMIZE_MVCUR	0x01
#define OPTIMIZE_HASHMAP	0x02
#define OPTIMIZE_SCROLL	0x04
#define OPTIMIZE_ALL	0xff

typedef unsigned long int chtype;
typedef chtype attr_t;

struct pdat {
    short _pad_y;
    short _pad_x;
    short _pad_top;
    short _pad_left;
    short _pad_bottom;
    short _pad_right;
};
typedef struct screen SCREEN;
typedef struct _win_st WINDOW;
typedef unsigned long int mmask_t;
typedef unsigned char bool;

typedef unsigned char NCURSES_BOOL;
typedef int (*NCURSES_OUTC) (int);
typedef int (*NCURSES_WINDOW_CB) (WINDOW *, void *);
typedef int (*NCURSES_SCREEN_CB) (SCREEN *, void *);
struct _win_st {
    short _cury;		/* current cursor position */
    short _curx;
    short _maxy;		/* maximums of x and y, NOT window size */
    short _maxx;
    short _begy;		/* screen coords of upper-left-hand corner */
    short _begx;
    short _flags;		/* window state flags */
    attr_t _attrs;		/* current attribute for non-space character */
    chtype _bkgd;		/* current background char/attribute pair */
    bool _notimeout;		/* no time out on function-key entry? */
    bool _clear;		/* consider all data in the window invalid? */
    bool _leaveok;		/* OK to not reset cursor on exit? */
    bool _scroll;		/* OK to scroll this window? */
    bool _idlok;		/* OK to use insert/delete line? */
    bool _idcok;		/* OK to use insert/delete char? */
    bool _immed;		/* window in immed mode? (not yet used) */
    bool _sync;			/* window in sync mode? */
    bool _use_keypad;		/* process function keys into KEY_ symbols? */
    int _delay;			/* 0 = nodelay, <0 = blocking, >0 = delay */
    struct ldat *_line;		/* the actual line data */
    short _regtop;		/* top line of scrolling region */
    short _regbottom;		/* bottom line of scrolling region */
    int _parx;			/* x coordinate of this window in parent */
    int _pary;			/* y coordinate of this window in parent */
    WINDOW *_parent;		/* pointer to parent if a sub-window */
    struct pdat _pad;
    short _yoffset;		/* real begy is _begy + _yoffset */
    cchar_t _bkgrnd;		/* current background char/attribute pair */
};
extern int COLORS;
extern int COLOR_PAIRS;
extern int COLS;
extern int LINES;
extern chtype acs_map[];
extern int add_wch(cchar_t *);
extern int add_wchnstr(cchar_t *, int);
extern int add_wchstr(cchar_t *);
extern int addch(const chtype);
extern int addchnstr(const chtype *, int);
extern int addchstr(const chtype *);
extern int addnstr(const char *, int);
extern int addnwstr(wchar_t *, int);
extern int addstr(const char *);
extern int addwstr(wchar_t *);
extern int assume_default_colors(int, int);
extern int attr_get(attr_t *, short *, void *);
extern int attr_off(attr_t, void *);
extern int attr_on(attr_t, void *);
extern int attr_set(attr_t, short, void *);
extern int attroff(int);
extern int attron(int);
extern int attrset(int);
extern int baudrate(void);
extern int beep(void);
extern int bkgd(chtype);
extern void bkgdset(chtype);
extern int bkgrnd(cchar_t *);
extern void bkgrndset(cchar_t *);
extern int border(chtype, chtype, chtype, chtype, chtype, chtype, chtype,
		  chtype);
extern int border_set(cchar_t *, cchar_t *, cchar_t *, cchar_t *,
		      cchar_t *, cchar_t *, cchar_t *, cchar_t *);
extern int box(WINDOW *, chtype, chtype);
extern int box_set(WINDOW *, cchar_t *, cchar_t *);
extern unsigned char can_change_color(void);
extern int cbreak(void);
extern int chgat(int, attr_t, short, const void *);
extern int clear(void);
extern int clearok(WINDOW *, unsigned char);
extern int clrtobot(void);
extern int clrtoeol(void);
extern int color_content(short, short *, short *, short *);
extern int color_set(short, void *);
extern int copywin(const WINDOW *, WINDOW *, int, int, int, int, int, int,
		   int);
extern int curs_set(int);
extern WINDOW *curscr;
extern const char *curses_version(void);
extern int def_prog_mode(void);
extern int def_shell_mode(void);
extern int define_key(const char *, int);
extern int delay_output(int);
extern int delch(void);
extern int deleteln(void);
extern void delscreen(SCREEN *);
extern int delwin(WINDOW *);
extern WINDOW *derwin(WINDOW *, int, int, int, int);
extern int doupdate(void);
extern WINDOW *dupwin(WINDOW *);
extern int echo(void);
extern int echo_wchar(cchar_t *);
extern int echochar(const chtype);
extern int endwin(void);
extern int erase(void);
extern char erasechar(void);
extern int erasewchar(wchar_t *);
extern void filter(void);
extern int flash(void);
extern int flushinp(void);
extern int get_wch(wint_t *);
extern int get_wstr(wint_t *);
extern chtype getbkgd(WINDOW *);
extern int getbkgrnd(cchar_t *);
extern int getcchar(cchar_t *, wchar_t *, attr_t *, short *, void *);
extern int getch(void);
extern int getmouse(MEVENT *);
extern int getn_wstr(wint_t *, int);
extern int getnstr(char *, int);
extern int getstr(char *);
extern WINDOW *getwin(FILE *);
extern int halfdelay(int);
extern unsigned char has_colors(void);
extern unsigned char has_ic(void);
extern unsigned char has_il(void);
extern int has_key(void);
extern bool has_mouse(void);
extern int hline(chtype, int);
extern int hline_set(cchar_t *, int);
extern void idcok(WINDOW *, unsigned char);
extern int idlok(WINDOW *, unsigned char);
extern void immedok(WINDOW *, unsigned char);
extern int in_wch(cchar_t *);
extern int in_wchnstr(cchar_t *, int);
extern int in_wchstr(cchar_t *);
extern chtype inch(void);
extern int inchnstr(chtype *, int);
extern int inchstr(chtype *);
extern int init_color(short, short, short, short);
extern int init_pair(short, short, short);
extern WINDOW *initscr(void);
extern int innstr(char *, int);
extern int innwstr(wchar_t *, int);
extern int ins_nwstr(wchar_t *, int);
extern int ins_wch(cchar_t *);
extern int ins_wstr(wchar_t *);
extern int insch(chtype);
extern int insdelln(int);
extern int insertln(void);
extern int insnstr(const char *, int);
extern int insstr(const char *);
extern int instr(char *);
extern int intrflush(WINDOW *, unsigned char);
extern int inwstr(wchar_t *);
extern unsigned char is_linetouched(WINDOW *, int);
extern unsigned char is_wintouched(WINDOW *);
extern unsigned char isendwin(void);
extern char *key_name(wchar_t);
extern char *keybound(int, int);
extern char *keyname(int);
extern int keyok(int, unsigned char);
extern int keypad(WINDOW *, unsigned char);
extern char killchar(void);
extern int killwchar(wchar_t *);
extern int leaveok(WINDOW *, unsigned char);
extern char *longname(void);
extern int mcprint(void);
extern int meta(WINDOW *, unsigned char);
extern bool mouse_trafo(int *, int *, bool);
extern int mouseinterval(int);
extern mmask_t mousemask(mmask_t, mmask_t *);
extern int move(int, int);
extern int mvadd_wch(int, int, cchar_t *);
extern int mvadd_wchnstr(int, int, cchar_t *, int);
extern int mvadd_wchstr(int, int, cchar_t *);
extern int mvaddch(const chtype, const chtype, const chtype);
extern int mvaddchnstr(int, int, const chtype *, int);
extern int mvaddchstr(int, int, const chtype *);
extern int mvaddnstr(int, int, const char *, int);
extern int mvaddnwstr(int, int, wchar_t *, int);
extern int mvaddstr(int, int, const char *);
extern int mvaddwstr(int, int, wchar_t *);
extern int mvchgat(int, int, int, attr_t, short, const void *);
extern int mvcur(int, int, int, int);
extern int mvdelch(int, int);
extern int mvderwin(WINDOW *, int, int);
extern int mvget_wch(int, int, wint_t *);
extern int mvget_wstr(int, int, wint_t *);
extern int mvgetch(int, int);
extern int mvgetn_wstr(int, int, wint_t *, int);
extern int mvgetnstr(int, int, char *, int);
extern int mvgetstr(int, int, char *);
extern int mvhline(int, int, chtype, int);
extern int mvhline_set(int, int, cchar_t *, int);
extern int mvin_wch(int, int, cchar_t *);
extern int mvin_wchnstr(int, int, cchar_t *, int);
extern int mvin_wchstr(int, int, cchar_t *);
extern chtype mvinch(int, int);
extern int mvinchnstr(int, int, chtype *, int);
extern int mvinchstr(int, int, chtype *);
extern int mvinnstr(int, int, char *, int);
extern int mvinnwstr(int, int, wchar_t *, int);
extern int mvins_nwstr(int, int, wchar_t *, int);
extern int mvins_wch(int, int, cchar_t *);
extern int mvins_wstr(int, int, wchar_t *);
extern int mvinsch(int, int, chtype);
extern int mvinsnstr(int, int, const char *, int);
extern int mvinsstr(int, int, const char *);
extern int mvinstr(int, int, char *);
extern int mvinwstr(int, int, wchar_t *);
extern int mvprintw(int, int, const char *, ...);
extern int mvscanw(int, int, char *, ...);
extern int mvvline(int, int, chtype, int);
extern int mvvline_set(int, int, cchar_t *, int);
extern int mvwadd_wch(WINDOW *, int, int, cchar_t *);
extern int mvwadd_wchnstr(WINDOW *, int, int, cchar_t *, int);
extern int mvwadd_wchstr(WINDOW *, int, int, cchar_t *);
extern int mvwaddch(const chtype, const chtype, const chtype,
		    const chtype);
extern int mvwaddchnstr(WINDOW *, int, int, const chtype *, int);
extern int mvwaddchstr(WINDOW *, int, int, const chtype *);
extern int mvwaddnstr(WINDOW *, int, int, const char *, int);
extern int mvwaddnwstr(WINDOW *, int, int, wchar_t *, int);
extern int mvwaddstr(WINDOW *, int, int, const char *);
extern int mvwaddwstr(WINDOW *, int, int, wchar_t *);
extern int mvwchgat(WINDOW *, int, int, int, attr_t, short, const void *);
extern int mvwdelch(WINDOW *, int, int);
extern int mvwget_wch(WINDOW *, int, int, wint_t *);
extern int mvwget_wstr(WINDOW *, int, int, wint_t *);
extern int mvwgetch(WINDOW *, int, int);
extern int mvwgetn_wstr(WINDOW *, int, int, wint_t *, int);
extern int mvwgetnstr(WINDOW *, int, int, char *, int);
extern int mvwgetstr(WINDOW *, int, int, char *);
extern int mvwhline(WINDOW *, int, int, chtype, int);
extern int mvwhline_set(WINDOW *, int, int, cchar_t *, int);
extern int mvwin(WINDOW *, int, int);
extern int mvwin_wch(WINDOW *, int, int, cchar_t *);
extern int mvwin_wchnstr(WINDOW *, int, int, cchar_t *, int);
extern int mvwin_wchstr(WINDOW *, int, int, cchar_t *);
extern chtype mvwinch(WINDOW *, int, int);
extern int mvwinchnstr(WINDOW *, int, int, chtype *, int);
extern int mvwinchstr(WINDOW *, int, int, chtype *);
extern int mvwinnstr(WINDOW *, int, int, char *, int);
extern int mvwinnwstr(WINDOW *, int, int, wchar_t *, int);
extern int mvwins_nwstr(WINDOW *, int, int, wchar_t *, int);
extern int mvwins_wch(WINDOW *, int, int, cchar_t *);
extern int mvwins_wstr(WINDOW *, int, int, wchar_t *);
extern int mvwinsch(WINDOW *, int, int, chtype);
extern int mvwinsnstr(WINDOW *, int, int, const char *, int);
extern int mvwinsstr(WINDOW *, int, int, const char *);
extern int mvwinstr(WINDOW *, int, int, char *);
extern int mvwinwstr(WINDOW *, int, int, wchar_t *);
extern int mvwprintw(WINDOW *, int, int, const char *, ...);
extern int mvwscanw(WINDOW *, int, int, char *, ...);
extern int mvwvline(WINDOW *, int, int, chtype, int);
extern int mvwvline_set(WINDOW *, int, int, cchar_t *, int);
extern int napms(int);
extern WINDOW *newpad(int, int);
extern WINDOW *newscr;
extern SCREEN *newterm(char *, FILE *, FILE *);
extern WINDOW *newwin(int, int, int, int);
extern int nl(void);
extern int nocbreak(void);
extern int nodelay(WINDOW *, unsigned char);
extern int noecho(void);
extern int nonl(void);
extern void noqiflush(void);
extern int noraw(void);
extern int notimeout(WINDOW *, unsigned char);
extern int overlay(const WINDOW *, WINDOW *);
extern int overwrite(const WINDOW *, WINDOW *);
extern int pair_content(short, short *, short *);
extern int pecho_wchar(WINDOW *, cchar_t *);
extern int pechochar(const chtype, const chtype);
extern int pnoutrefresh(WINDOW *, int, int, int, int, int, int);
extern int prefresh(WINDOW *, int, int, int, int, int, int);
extern int printw(const char *, ...);
extern int putwin(WINDOW *, FILE *);
extern void qiflush(void);
extern int raw(void);
extern int redrawwin(WINDOW *);
extern int refresh(void);
extern int reset_prog_mode(void);
extern int reset_shell_mode(void);
extern int resetty(void);
extern int resizeterm(int, int);
extern int ripoffline(int, int (*)(WINDOW *, int));
extern int savetty(void);
extern int scanw(char *, ...);
extern int scr_dump(const char *);
extern int scr_init(const char *);
extern int scr_restore(const char *);
extern int scr_set(const char *);
extern int scrl(int);
extern int scroll(WINDOW *);
extern int scrollok(WINDOW *, unsigned char);
extern SCREEN *set_term(SCREEN *);
extern int setcchar(cchar_t *, wchar_t *, attr_t, short, void *);
extern int setscrreg(int, int);
extern attr_t slk_attr(void);
extern int slk_attr_off(const attr_t, void *);
extern int slk_attr_on(attr_t, void *);
extern int slk_attr_set(const attr_t, short, void *);
extern int slk_attroff(const chtype);
extern int slk_attron(const chtype);
extern int slk_attrset(const chtype);
extern int slk_clear(void);
extern int slk_color(short);
extern int slk_init(int);
extern char *slk_label(int);
extern int slk_noutrefresh(void);
extern int slk_refresh(void);
extern int slk_restore(void);
extern int slk_set(int, const char *, int);
extern int slk_touch(void);
extern int slk_wset(int, const wchar_t *, int);
extern int standend(void);
extern int standout(void);
extern int start_color(void);
extern WINDOW *stdscr;
extern WINDOW *subpad(WINDOW *, int, int, int, int);
extern WINDOW *subwin(WINDOW *, int, int, int, int);
extern int syncok(WINDOW *, unsigned char);
extern attr_t term_attrs(void);
extern chtype termattrs(void);
extern char *termname(void);
extern void timeout(int);
extern int touchline(WINDOW *, int, int);
extern int touchwin(WINDOW *);
extern int typeahead(int);
extern char *unctrl(chtype);
extern int unget_wch(wchar_t);
extern int ungetch(int);
extern int ungetmouse(MEVENT *);
extern int untouchwin(WINDOW *);
extern int use_default_colors(void);
extern void use_env(unsigned char);
extern int use_extended_names(unsigned char);
extern int vid_attr(attr_t, short, void *);
extern int vid_puts(attr_t, short, void *, int);
extern int vidattr(chtype);
extern int vidputs(chtype, NCURSES_OUTC);
extern int vline(chtype, int);
extern int vline_set(cchar_t *, int);
extern int vw_printw(WINDOW *, const char *, va_list);
extern int vw_scanw(WINDOW *, char *, va_list);
extern int vwprintw(WINDOW *, const char *, va_list);
extern int vwscanw(WINDOW *, char *, va_list);
extern int wadd_wch(WINDOW *, cchar_t *);
extern int wadd_wchnstr(WINDOW *, cchar_t *, int);
extern int wadd_wchstr(WINDOW *, cchar_t *);
extern int waddch(WINDOW *, chtype);
extern int waddchnstr(WINDOW *, const chtype *, int);
extern int waddchstr(WINDOW *, const chtype *);
extern int waddnstr(WINDOW *, const char *, int);
extern int waddnwstr(WINDOW *, wchar_t *, int);
extern int waddstr(WINDOW *, const char *);
extern int waddwstr(WINDOW *, wchar_t *);
extern int wattr_get(WINDOW *, attr_t *, short *, void *);
extern int wattr_off(WINDOW *, attr_t, void *);
extern int wattr_on(WINDOW *, attr_t, void *);
extern int wattr_set(WINDOW *, attr_t, short, void *);
extern int wattroff(WINDOW *, int);
extern int wattron(WINDOW *, int);
extern int wattrset(WINDOW *, int);
extern int wbkgd(WINDOW *, chtype);
extern void wbkgdset(WINDOW *, chtype);
extern int wbkgrnd(WINDOW *, cchar_t *);
extern void wbkgrndset(WINDOW *, cchar_t *);
extern int wborder(WINDOW *, chtype, chtype, chtype, chtype, chtype,
		   chtype, chtype, chtype);
extern int wborder_set(WINDOW *, cchar_t *, cchar_t *, cchar_t *,
		       cchar_t *, cchar_t *, cchar_t *, cchar_t *,
		       cchar_t *);
extern int wchgat(WINDOW *, int, attr_t, short, const void *);
extern int wclear(WINDOW *);
extern int wclrtobot(WINDOW *);
extern int wclrtoeol(WINDOW *);
extern int wcolor_set(WINDOW *, short, void *);
extern void wcursyncup(WINDOW *);
extern int wdelch(WINDOW *);
extern int wdeleteln(WINDOW *);
extern int wecho_wchar(WINDOW *, cchar_t *);
extern int wechochar(const chtype, const chtype);
extern int werase(WINDOW *);
extern int wget_wch(WINDOW *, wint_t *);
extern int wget_wstr(WINDOW *, wint_t *);
extern int wgetbkgrnd(WINDOW *, cchar_t *);
extern int wgetch(WINDOW *);
extern int wgetn_wstr(WINDOW *, wint_t *, int);
extern int wgetnstr(WINDOW *, char *, int);
extern int wgetstr(WINDOW *, char *);
extern int whline(WINDOW *, chtype, int);
extern int whline_set(WINDOW *, cchar_t *, int);
extern int win_wch(WINDOW *, cchar_t *);
extern int win_wchnstr(WINDOW *, cchar_t *, int);
extern int win_wchstr(WINDOW *, cchar_t *);
extern chtype winch(WINDOW *);
extern int winchnstr(WINDOW *, chtype *, int);
extern int winchstr(WINDOW *, chtype *);
extern int winnstr(WINDOW *, char *, int);
extern int winnwstr(WINDOW *, wchar_t *, int);
extern int wins_nwstr(WINDOW *, wchar_t *, int);
extern int wins_wch(WINDOW *, cchar_t *);
extern int wins_wstr(WINDOW *, wchar_t *);
extern int winsch(WINDOW *, chtype);
extern int winsdelln(WINDOW *, int);
extern int winsertln(WINDOW *);
extern int winsnstr(WINDOW *, const char *, int);
extern int winsstr(WINDOW *, const char *);
extern int winstr(WINDOW *, char *);
extern int winwstr(WINDOW *, wchar_t *);
extern unsigned char wmouse_trafo(const WINDOW *, int *, int *, bool);
extern int wmove(WINDOW *, int, int);
extern int wnoutrefresh(WINDOW *);
extern int wprintw(WINDOW *, const char *, ...);
extern int wredrawln(WINDOW *, int, int);
extern int wrefresh(WINDOW *);
extern int wresize(WINDOW *, int, int);
extern int wscanw(WINDOW *, char *, ...);
extern int wscrl(WINDOW *, int);
extern int wsetscrreg(WINDOW *, int, int);
extern int wstandend(WINDOW *);
extern int wstandout(WINDOW *);
extern void wsyncdown(WINDOW *);
extern void wsyncup(WINDOW *);
extern void wtimeout(WINDOW *, int);
extern int wtouchln(WINDOW *, int, int, int);
extern wchar_t *wunctrl(cchar_t *);
extern int wvline(WINDOW *, chtype, int);
extern int wvline_set(WINDOW *, cchar_t *, int);

15.9.2. ncursesw/ncurses_dll.h


#define NCURSES_API
#define NCURSES_IMPEXP
#define NCURSES_STATIC
#define NCURSES_WRAPPED_VAR(type,name)	extern type NCURSES_PUBLIC_VAR(name)(void)
#define NCURSES_PUBLIC_VAR(name)	_nc_ ##name

15.9.3. ncursesw/term.h


#define NCURSES_TERM_H_incl	1
#define NCURSES_VERSION	"5.9"
#define NCURSES_SBOOL	char
#define NCURSES_XNAMES	1
#define TERMIOS	1
#define TTY	struct termios
#define TCSANOW	TCSETA
#define TCSADRAIN	TCSETAW
#define TCSAFLUSH	TCSETAF
#define tcsetattr(fd, cmd, arg)	ioctl(fd, cmd, arg)
#define tcgetattr(fd, arg)	ioctl(fd, TCGETA, arg)
#define cfgetospeed(t)	((t)->c_cflag & CBAUD)
#define TCOFLUSH	1
#define TCIOFLUSH	2
#define tcflush(fd, arg)	ioctl(fd, TCFLSH, arg)
#define GET_TTY(fd, buf)	tcgetattr(fd, buf)
#define SET_TTY(fd, buf)	tcsetattr(fd, TCSADRAIN, buf)
#define NAMESIZE	256
#define CUR	cur_term->type.
#define auto_left_margin	CUR Booleans[0]
#define auto_right_margin	CUR Booleans[1]
#define no_esc_ctlc	CUR Booleans[2]
#define ceol_standout_glitch	CUR Booleans[3]
#define eat_newline_glitch	CUR Booleans[4]
#define erase_overstrike	CUR Booleans[5]
#define generic_type	CUR Booleans[6]
#define hard_copy	CUR Booleans[7]
#define has_meta_key	CUR Booleans[8]
#define has_status_line	CUR Booleans[9]
#define insert_null_glitch	CUR Booleans[10]
#define memory_above	CUR Booleans[11]
#define memory_below	CUR Booleans[12]
#define move_insert_mode	CUR Booleans[13]
#define move_standout_mode	CUR Booleans[14]
#define over_strike	CUR Booleans[15]
#define status_line_esc_ok	CUR Booleans[16]
#define dest_tabs_magic_smso	CUR Booleans[17]
#define tilde_glitch	CUR Booleans[18]
#define transparent_underline	CUR Booleans[19]
#define xon_xoff	CUR Booleans[20]
#define needs_xon_xoff	CUR Booleans[21]
#define prtr_silent	CUR Booleans[22]
#define hard_cursor	CUR Booleans[23]
#define non_rev_rmcup	CUR Booleans[24]
#define no_pad_char	CUR Booleans[25]
#define non_dest_scroll_region	CUR Booleans[26]
#define can_change	CUR Booleans[27]
#define back_color_erase	CUR Booleans[28]
#define hue_lightness_saturation	CUR Booleans[29]
#define col_addr_glitch	CUR Booleans[30]
#define cr_cancels_micro_mode	CUR Booleans[31]
#define has_print_wheel	CUR Booleans[32]
#define row_addr_glitch	CUR Booleans[33]
#define semi_auto_right_margin	CUR Booleans[34]
#define cpi_changes_res	CUR Booleans[35]
#define lpi_changes_res	CUR Booleans[36]
#define columns	CUR Numbers[0]
#define init_tabs	CUR Numbers[1]
#define lines	CUR Numbers[2]
#define lines_of_memory	CUR Numbers[3]
#define magic_cookie_glitch	CUR Numbers[4]
#define padding_baud_rate	CUR Numbers[5]
#define virtual_terminal	CUR Numbers[6]
#define width_status_line	CUR Numbers[7]
#define num_labels	CUR Numbers[8]
#define label_height	CUR Numbers[9]
#define label_width	CUR Numbers[10]
#define max_attributes	CUR Numbers[11]
#define maximum_windows	CUR Numbers[12]
#define max_colors	CUR Numbers[13]
#define max_pairs	CUR Numbers[14]
#define no_color_video	CUR Numbers[15]
#define buffer_capacity	CUR Numbers[16]
#define dot_vert_spacing	CUR Numbers[17]
#define dot_horz_spacing	CUR Numbers[18]
#define max_micro_address	CUR Numbers[19]
#define max_micro_jump	CUR Numbers[20]
#define micro_col_size	CUR Numbers[21]
#define micro_line_size	CUR Numbers[22]
#define number_of_pins	CUR Numbers[23]
#define output_res_char	CUR Numbers[24]
#define output_res_line	CUR Numbers[25]
#define output_res_horz_inch	CUR Numbers[26]
#define output_res_vert_inch	CUR Numbers[27]
#define print_rate	CUR Numbers[28]
#define wide_char_size	CUR Numbers[29]
#define buttons	CUR Numbers[30]
#define bit_image_entwining	CUR Numbers[31]
#define bit_image_type	CUR Numbers[32]
#define back_tab	CUR Strings[0]
#define bell	CUR Strings[1]
#define carriage_return	CUR Strings[2]
#define change_scroll_region	CUR Strings[3]
#define clear_all_tabs	CUR Strings[4]
#define clear_screen	CUR Strings[5]
#define clr_eol	CUR Strings[6]
#define clr_eos	CUR Strings[7]
#define column_address	CUR Strings[8]
#define command_character	CUR Strings[9]
#define cursor_address	CUR Strings[10]
#define cursor_down	CUR Strings[11]
#define cursor_home	CUR Strings[12]
#define cursor_invisible	CUR Strings[13]
#define cursor_left	CUR Strings[14]
#define cursor_mem_address	CUR Strings[15]
#define cursor_normal	CUR Strings[16]
#define cursor_right	CUR Strings[17]
#define cursor_to_ll	CUR Strings[18]
#define cursor_up	CUR Strings[19]
#define cursor_visible	CUR Strings[20]
#define delete_character	CUR Strings[21]
#define delete_line	CUR Strings[22]
#define dis_status_line	CUR Strings[23]
#define down_half_line	CUR Strings[24]
#define enter_alt_charset_mode	CUR Strings[25]
#define enter_blink_mode	CUR Strings[26]
#define enter_bold_mode	CUR Strings[27]
#define enter_ca_mode	CUR Strings[28]
#define enter_delete_mode	CUR Strings[29]
#define enter_dim_mode	CUR Strings[30]
#define enter_insert_mode	CUR Strings[31]
#define enter_secure_mode	CUR Strings[32]
#define enter_protected_mode	CUR Strings[33]
#define enter_reverse_mode	CUR Strings[34]
#define enter_standout_mode	CUR Strings[35]
#define enter_underline_mode	CUR Strings[36]
#define erase_chars	CUR Strings[37]
#define exit_alt_charset_mode	CUR Strings[38]
#define exit_attribute_mode	CUR Strings[39]
#define exit_ca_mode	CUR Strings[40]
#define exit_delete_mode	CUR Strings[41]
#define exit_insert_mode	CUR Strings[42]
#define exit_standout_mode	CUR Strings[43]
#define exit_underline_mode	CUR Strings[44]
#define flash_screen	CUR Strings[45]
#define form_feed	CUR Strings[46]
#define from_status_line	CUR Strings[47]
#define init_1string	CUR Strings[48]
#define init_2string	CUR Strings[49]
#define init_3string	CUR Strings[50]
#define init_file	CUR Strings[51]
#define insert_character	CUR Strings[52]
#define insert_line	CUR Strings[53]
#define insert_padding	CUR Strings[54]
#define key_backspace	CUR Strings[55]
#define key_catab	CUR Strings[56]
#define key_clear	CUR Strings[57]
#define key_ctab	CUR Strings[58]
#define key_dc	CUR Strings[59]
#define key_dl	CUR Strings[60]
#define key_down	CUR Strings[61]
#define key_eic	CUR Strings[62]
#define key_eol	CUR Strings[63]
#define key_eos	CUR Strings[64]
#define key_f0	CUR Strings[65]
#define key_f1	CUR Strings[66]
#define key_f10	CUR Strings[67]
#define key_f2	CUR Strings[68]
#define key_f3	CUR Strings[69]
#define key_f4	CUR Strings[70]
#define key_f5	CUR Strings[71]
#define key_f6	CUR Strings[72]
#define key_f7	CUR Strings[73]
#define key_f8	CUR Strings[74]
#define key_f9	CUR Strings[75]
#define key_home	CUR Strings[76]
#define key_ic	CUR Strings[77]
#define key_il	CUR Strings[78]
#define key_left	CUR Strings[79]
#define key_ll	CUR Strings[80]
#define key_npage	CUR Strings[81]
#define key_ppage	CUR Strings[82]
#define key_right	CUR Strings[83]
#define key_sf	CUR Strings[84]
#define key_sr	CUR Strings[85]
#define key_stab	CUR Strings[86]
#define key_up	CUR Strings[87]
#define keypad_local	CUR Strings[88]
#define keypad_xmit	CUR Strings[89]
#define lab_f0	CUR Strings[90]
#define lab_f1	CUR Strings[91]
#define lab_f10	CUR Strings[92]
#define lab_f2	CUR Strings[93]
#define lab_f3	CUR Strings[94]
#define lab_f4	CUR Strings[95]
#define lab_f5	CUR Strings[96]
#define lab_f6	CUR Strings[97]
#define lab_f7	CUR Strings[98]
#define lab_f8	CUR Strings[99]
#define lab_f9	CUR Strings[100]
#define meta_off	CUR Strings[101]
#define meta_on	CUR Strings[102]
#define newline	CUR Strings[103]
#define pad_char	CUR Strings[104]
#define parm_dch	CUR Strings[105]
#define parm_delete_line	CUR Strings[106]
#define parm_down_cursor	CUR Strings[107]
#define parm_ich	CUR Strings[108]
#define parm_index	CUR Strings[109]
#define parm_insert_line	CUR Strings[110]
#define parm_left_cursor	CUR Strings[111]
#define parm_right_cursor	CUR Strings[112]
#define parm_rindex	CUR Strings[113]
#define parm_up_cursor	CUR Strings[114]
#define pkey_key	CUR Strings[115]
#define pkey_local	CUR Strings[116]
#define pkey_xmit	CUR Strings[117]
#define print_screen	CUR Strings[118]
#define prtr_off	CUR Strings[119]
#define prtr_on	CUR Strings[120]
#define repeat_char	CUR Strings[121]
#define reset_1string	CUR Strings[122]
#define reset_2string	CUR Strings[123]
#define reset_3string	CUR Strings[124]
#define reset_file	CUR Strings[125]
#define restore_cursor	CUR Strings[126]
#define row_address	CUR Strings[127]
#define save_cursor	CUR Strings[128]
#define scroll_forward	CUR Strings[129]
#define scroll_reverse	CUR Strings[130]
#define set_attributes	CUR Strings[131]
#define set_tab	CUR Strings[132]
#define set_window	CUR Strings[133]
#define tab	CUR Strings[134]
#define to_status_line	CUR Strings[135]
#define underline_char	CUR Strings[136]
#define up_half_line	CUR Strings[137]
#define init_prog	CUR Strings[138]
#define key_a1	CUR Strings[139]
#define key_a3	CUR Strings[140]
#define key_b2	CUR Strings[141]
#define key_c1	CUR Strings[142]
#define key_c3	CUR Strings[143]
#define prtr_non	CUR Strings[144]
#define char_padding	CUR Strings[145]
#define acs_chars	CUR Strings[146]
#define plab_norm	CUR Strings[147]
#define key_btab	CUR Strings[148]
#define enter_xon_mode	CUR Strings[149]
#define exit_xon_mode	CUR Strings[150]
#define enter_am_mode	CUR Strings[151]
#define exit_am_mode	CUR Strings[152]
#define xon_character	CUR Strings[153]
#define xoff_character	CUR Strings[154]
#define ena_acs	CUR Strings[155]
#define label_on	CUR Strings[156]
#define label_off	CUR Strings[157]
#define key_beg	CUR Strings[158]
#define key_cancel	CUR Strings[159]
#define key_close	CUR Strings[160]
#define key_command	CUR Strings[161]
#define key_copy	CUR Strings[162]
#define key_create	CUR Strings[163]
#define key_end	CUR Strings[164]
#define key_enter	CUR Strings[165]
#define key_exit	CUR Strings[166]
#define key_find	CUR Strings[167]
#define key_help	CUR Strings[168]
#define key_mark	CUR Strings[169]
#define key_message	CUR Strings[170]
#define key_move	CUR Strings[171]
#define key_next	CUR Strings[172]
#define key_open	CUR Strings[173]
#define key_options	CUR Strings[174]
#define key_previous	CUR Strings[175]
#define key_print	CUR Strings[176]
#define key_redo	CUR Strings[177]
#define key_reference	CUR Strings[178]
#define key_refresh	CUR Strings[179]
#define key_replace	CUR Strings[180]
#define key_restart	CUR Strings[181]
#define key_resume	CUR Strings[182]
#define key_save	CUR Strings[183]
#define key_suspend	CUR Strings[184]
#define key_undo	CUR Strings[185]
#define key_sbeg	CUR Strings[186]
#define key_scancel	CUR Strings[187]
#define key_scommand	CUR Strings[188]
#define key_scopy	CUR Strings[189]
#define key_screate	CUR Strings[190]
#define key_sdc	CUR Strings[191]
#define key_sdl	CUR Strings[192]
#define key_select	CUR Strings[193]
#define key_send	CUR Strings[194]
#define key_seol	CUR Strings[195]
#define key_sexit	CUR Strings[196]
#define key_sfind	CUR Strings[197]
#define key_shelp	CUR Strings[198]
#define key_shome	CUR Strings[199]
#define key_sic	CUR Strings[200]
#define key_sleft	CUR Strings[201]
#define key_smessage	CUR Strings[202]
#define key_smove	CUR Strings[203]
#define key_snext	CUR Strings[204]
#define key_soptions	CUR Strings[205]
#define key_sprevious	CUR Strings[206]
#define key_sprint	CUR Strings[207]
#define key_sredo	CUR Strings[208]
#define key_sreplace	CUR Strings[209]
#define key_sright	CUR Strings[210]
#define key_srsume	CUR Strings[211]
#define key_ssave	CUR Strings[212]
#define key_ssuspend	CUR Strings[213]
#define key_sundo	CUR Strings[214]
#define req_for_input	CUR Strings[215]
#define key_f11	CUR Strings[216]
#define key_f12	CUR Strings[217]
#define key_f13	CUR Strings[218]
#define key_f14	CUR Strings[219]
#define key_f15	CUR Strings[220]
#define key_f16	CUR Strings[221]
#define key_f17	CUR Strings[222]
#define key_f18	CUR Strings[223]
#define key_f19	CUR Strings[224]
#define key_f20	CUR Strings[225]
#define key_f21	CUR Strings[226]
#define key_f22	CUR Strings[227]
#define key_f23	CUR Strings[228]
#define key_f24	CUR Strings[229]
#define key_f25	CUR Strings[230]
#define key_f26	CUR Strings[231]
#define key_f27	CUR Strings[232]
#define key_f28	CUR Strings[233]
#define key_f29	CUR Strings[234]
#define key_f30	CUR Strings[235]
#define key_f31	CUR Strings[236]
#define key_f32	CUR Strings[237]
#define key_f33	CUR Strings[238]
#define key_f34	CUR Strings[239]
#define key_f35	CUR Strings[240]
#define key_f36	CUR Strings[241]
#define key_f37	CUR Strings[242]
#define key_f38	CUR Strings[243]
#define key_f39	CUR Strings[244]
#define key_f40	CUR Strings[245]
#define key_f41	CUR Strings[246]
#define key_f42	CUR Strings[247]
#define key_f43	CUR Strings[248]
#define key_f44	CUR Strings[249]
#define key_f45	CUR Strings[250]
#define key_f46	CUR Strings[251]
#define key_f47	CUR Strings[252]
#define key_f48	CUR Strings[253]
#define key_f49	CUR Strings[254]
#define key_f50	CUR Strings[255]
#define key_f51	CUR Strings[256]
#define key_f52	CUR Strings[257]
#define key_f53	CUR Strings[258]
#define key_f54	CUR Strings[259]
#define key_f55	CUR Strings[260]
#define key_f56	CUR Strings[261]
#define key_f57	CUR Strings[262]
#define key_f58	CUR Strings[263]
#define key_f59	CUR Strings[264]
#define key_f60	CUR Strings[265]
#define key_f61	CUR Strings[266]
#define key_f62	CUR Strings[267]
#define key_f63	CUR Strings[268]
#define clr_bol	CUR Strings[269]
#define clear_margins	CUR Strings[270]
#define set_left_margin	CUR Strings[271]
#define set_right_margin	CUR Strings[272]
#define label_format	CUR Strings[273]
#define set_clock	CUR Strings[274]
#define display_clock	CUR Strings[275]
#define remove_clock	CUR Strings[276]
#define create_window	CUR Strings[277]
#define goto_window	CUR Strings[278]
#define hangup	CUR Strings[279]
#define dial_phone	CUR Strings[280]
#define quick_dial	CUR Strings[281]
#define tone	CUR Strings[282]
#define pulse	CUR Strings[283]
#define flash_hook	CUR Strings[284]
#define fixed_pause	CUR Strings[285]
#define wait_tone	CUR Strings[286]
#define user0	CUR Strings[287]
#define user1	CUR Strings[288]
#define user2	CUR Strings[289]
#define user3	CUR Strings[290]
#define user4	CUR Strings[291]
#define user5	CUR Strings[292]
#define user6	CUR Strings[293]
#define user7	CUR Strings[294]
#define user8	CUR Strings[295]
#define user9	CUR Strings[296]
#define orig_pair	CUR Strings[297]
#define orig_colors	CUR Strings[298]
#define initialize_color	CUR Strings[299]
#define initialize_pair	CUR Strings[300]
#define set_color_pair	CUR Strings[301]
#define set_foreground	CUR Strings[302]
#define set_background	CUR Strings[303]
#define change_char_pitch	CUR Strings[304]
#define change_line_pitch	CUR Strings[305]
#define change_res_horz	CUR Strings[306]
#define change_res_vert	CUR Strings[307]
#define define_char	CUR Strings[308]
#define enter_doublewide_mode	CUR Strings[309]
#define enter_draft_quality	CUR Strings[310]
#define enter_italics_mode	CUR Strings[311]
#define enter_leftward_mode	CUR Strings[312]
#define enter_micro_mode	CUR Strings[313]
#define enter_near_letter_quality	CUR Strings[314]
#define enter_normal_quality	CUR Strings[315]
#define enter_shadow_mode	CUR Strings[316]
#define enter_subscript_mode	CUR Strings[317]
#define enter_superscript_mode	CUR Strings[318]
#define enter_upward_mode	CUR Strings[319]
#define exit_doublewide_mode	CUR Strings[320]
#define exit_italics_mode	CUR Strings[321]
#define exit_leftward_mode	CUR Strings[322]
#define exit_micro_mode	CUR Strings[323]
#define exit_shadow_mode	CUR Strings[324]
#define exit_subscript_mode	CUR Strings[325]
#define exit_superscript_mode	CUR Strings[326]
#define exit_upward_mode	CUR Strings[327]
#define micro_column_address	CUR Strings[328]
#define micro_down	CUR Strings[329]
#define micro_left	CUR Strings[330]
#define micro_right	CUR Strings[331]
#define micro_row_address	CUR Strings[332]
#define micro_up	CUR Strings[333]
#define order_of_pins	CUR Strings[334]
#define parm_down_micro	CUR Strings[335]
#define parm_left_micro	CUR Strings[336]
#define parm_right_micro	CUR Strings[337]
#define parm_up_micro	CUR Strings[338]
#define select_char_set	CUR Strings[339]
#define set_bottom_margin	CUR Strings[340]
#define set_bottom_margin_parm	CUR Strings[341]
#define set_left_margin_parm	CUR Strings[342]
#define set_right_margin_parm	CUR Strings[343]
#define set_top_margin	CUR Strings[344]
#define set_top_margin_parm	CUR Strings[345]
#define start_bit_image	CUR Strings[346]
#define start_char_set_def	CUR Strings[347]
#define stop_bit_image	CUR Strings[348]
#define stop_char_set_def	CUR Strings[349]
#define subscript_characters	CUR Strings[350]
#define superscript_characters	CUR Strings[351]
#define these_cause_cr	CUR Strings[352]
#define zero_motion	CUR Strings[353]
#define char_set_names	CUR Strings[354]
#define key_mouse	CUR Strings[355]
#define mouse_info	CUR Strings[356]
#define req_mouse_pos	CUR Strings[357]
#define get_mouse	CUR Strings[358]
#define set_a_foreground	CUR Strings[359]
#define set_a_background	CUR Strings[360]
#define pkey_plab	CUR Strings[361]
#define device_type	CUR Strings[362]
#define code_set_init	CUR Strings[363]
#define set0_des_seq	CUR Strings[364]
#define set1_des_seq	CUR Strings[365]
#define set2_des_seq	CUR Strings[366]
#define set3_des_seq	CUR Strings[367]
#define set_lr_margin	CUR Strings[368]
#define set_tb_margin	CUR Strings[369]
#define bit_image_repeat	CUR Strings[370]
#define bit_image_newline	CUR Strings[371]
#define bit_image_carriage_return	CUR Strings[372]
#define color_names	CUR Strings[373]
#define define_bit_image_region	CUR Strings[374]
#define end_bit_image_region	CUR Strings[375]
#define set_color_band	CUR Strings[376]
#define set_page_length	CUR Strings[377]
#define display_pc_char	CUR Strings[378]
#define enter_pc_charset_mode	CUR Strings[379]
#define exit_pc_charset_mode	CUR Strings[380]
#define enter_scancode_mode	CUR Strings[381]
#define exit_scancode_mode	CUR Strings[382]
#define pc_term_options	CUR Strings[383]
#define scancode_escape	CUR Strings[384]
#define alt_scancode_esc	CUR Strings[385]
#define enter_horizontal_hl_mode	CUR Strings[386]
#define enter_left_hl_mode	CUR Strings[387]
#define enter_low_hl_mode	CUR Strings[388]
#define enter_right_hl_mode	CUR Strings[389]
#define enter_top_hl_mode	CUR Strings[390]
#define enter_vertical_hl_mode	CUR Strings[391]
#define set_a_attributes	CUR Strings[392]
#define set_pglen_inch	CUR Strings[393]
#define BOOLWRITE	37
#define NUMWRITE	33
#define STRWRITE	394
#define beehive_glitch	no_esc_ctlc
#define teleray_glitch	dest_tabs_magic_smso
#define micro_char_size	micro_col_size
#define termcap_init2	CUR Strings[394]
#define termcap_reset	CUR Strings[395]
#define magic_cookie_glitch_ul	CUR Numbers[33]
#define backspaces_with_bs	CUR Booleans[37]
#define crt_no_scrolling	CUR Booleans[38]
#define no_correctly_working_cr	CUR Booleans[39]
#define carriage_return_delay	CUR Numbers[34]
#define new_line_delay	CUR Numbers[35]
#define linefeed_if_not_lf	CUR Strings[396]
#define backspace_if_not_bs	CUR Strings[397]
#define gnu_has_meta_key	CUR Booleans[40]
#define linefeed_is_newline	CUR Booleans[41]
#define backspace_delay	CUR Numbers[36]
#define horizontal_tab_delay	CUR Numbers[37]
#define number_of_function_keys	CUR Numbers[38]
#define other_non_function_keys	CUR Strings[398]
#define arrow_key_map	CUR Strings[399]
#define has_hardware_tabs	CUR Booleans[42]
#define return_does_clr_eol	CUR Booleans[43]
#define acs_ulcorner	CUR Strings[400]
#define acs_llcorner	CUR Strings[401]
#define acs_urcorner	CUR Strings[402]
#define acs_lrcorner	CUR Strings[403]
#define acs_ltee	CUR Strings[404]
#define acs_rtee	CUR Strings[405]
#define acs_btee	CUR Strings[406]
#define acs_ttee	CUR Strings[407]
#define acs_hline	CUR Strings[408]
#define acs_vline	CUR Strings[409]
#define acs_plus	CUR Strings[410]
#define memory_lock	CUR Strings[411]
#define memory_unlock	CUR Strings[412]
#define box_chars_1	CUR Strings[413]
#define BOOLCOUNT	44
#define NUMCOUNT	39
#define STRCOUNT	414
#define acs_chars_index	146
#define cur_term	NCURSES_PUBLIC_VAR(cur_term())
#define boolnames	NCURSES_PUBLIC_VAR(boolnames())
#define boolcodes	NCURSES_PUBLIC_VAR(boolcodes())
#define boolfnames	NCURSES_PUBLIC_VAR(boolfnames())
#define numnames	NCURSES_PUBLIC_VAR(numnames())
#define numcodes	NCURSES_PUBLIC_VAR(numcodes())
#define numfnames	NCURSES_PUBLIC_VAR(numfnames())
#define strnames	NCURSES_PUBLIC_VAR(strnames())
#define strcodes	NCURSES_PUBLIC_VAR(strcodes())
#define strfnames	NCURSES_PUBLIC_VAR(strfnames())

typedef struct termtype {
    char *term_names;
    char *str_table;
    char *Booleans;
    short *Numbers;
    char **Strings;
    char *ext_str_table;
    char **ext_Names;
    unsigned short num_Booleans;
    unsigned short num_Numbers;
    unsigned short num_Strings;
    unsigned short ext_Booleans;
    unsigned short ext_Numbers;
    unsigned short ext_Strings;
} TERMTYPE;
typedef struct term {
    TERMTYPE type;
    short Filedes;
    struct termios Ottyb;
    struct termios Nttyb;
    int _baudrate;
    char *_termname;
} TERMINAL;
extern TERMINAL *cur_term;
extern int del_curterm(TERMINAL *);
extern int putp(const char *);
extern int restartterm(char *, int, int *);
extern TERMINAL *set_curterm(TERMINAL *);
extern int setupterm(char *, int, int *);
extern int tgetent(char *, const char *);
extern int tgetflag(char *);
extern int tgetnum(char *);
extern char *tgetstr(char *, char **);
extern char *tgoto(const char *, int, int);
extern int tigetflag(char *);
extern int tigetnum(char *);
extern char *tigetstr(char *);
extern char *tparm(char *, ...);
extern int tputs(const char *, int, int (*)(int));
extern char ttytype[];

15.9.4. ncursesw/unctrl.h


#define NCURSES_UNCTRL_H_incl	1
#define NCURSES_VERSION	"5.9"