1*32bb5217SDaniel Fojt/* $Id: curses.wide,v 1.50 2017/03/26 16:05:21 tom Exp $ */
21d102085SJan Lentfer/*
31d102085SJan Lentfer * vile:cmode:
41d102085SJan Lentfer * This file is part of ncurses, designed to be appended after curses.h.in
51d102085SJan Lentfer * (see that file for the relevant copyright).
61d102085SJan Lentfer */
700d8f3c4SJohn Marino#define _XOPEN_CURSES 1
800d8f3c4SJohn Marino
93468e90cSJohn Marino#if NCURSES_WIDECHAR
10fdd4e1e0SJan Lentfer
11fdd4e1e0SJan Lentferextern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs;
12fdd4e1e0SJan Lentfer
133468e90cSJohn Marino#define NCURSES_WACS(c)	(&_nc_wacs[NCURSES_CAST(unsigned char,(c))])
14fdd4e1e0SJan Lentfer
15fdd4e1e0SJan Lentfer#define WACS_BSSB	NCURSES_WACS('l')
16fdd4e1e0SJan Lentfer#define WACS_SSBB	NCURSES_WACS('m')
17fdd4e1e0SJan Lentfer#define WACS_BBSS	NCURSES_WACS('k')
18fdd4e1e0SJan Lentfer#define WACS_SBBS	NCURSES_WACS('j')
19fdd4e1e0SJan Lentfer#define WACS_SBSS	NCURSES_WACS('u')
20fdd4e1e0SJan Lentfer#define WACS_SSSB	NCURSES_WACS('t')
21fdd4e1e0SJan Lentfer#define WACS_SSBS	NCURSES_WACS('v')
22fdd4e1e0SJan Lentfer#define WACS_BSSS	NCURSES_WACS('w')
23fdd4e1e0SJan Lentfer#define WACS_BSBS	NCURSES_WACS('q')
24fdd4e1e0SJan Lentfer#define WACS_SBSB	NCURSES_WACS('x')
25fdd4e1e0SJan Lentfer#define WACS_SSSS	NCURSES_WACS('n')
26fdd4e1e0SJan Lentfer
27fdd4e1e0SJan Lentfer#define WACS_ULCORNER	WACS_BSSB
28fdd4e1e0SJan Lentfer#define WACS_LLCORNER	WACS_SSBB
29fdd4e1e0SJan Lentfer#define WACS_URCORNER	WACS_BBSS
30fdd4e1e0SJan Lentfer#define WACS_LRCORNER	WACS_SBBS
31fdd4e1e0SJan Lentfer#define WACS_RTEE	WACS_SBSS
32fdd4e1e0SJan Lentfer#define WACS_LTEE	WACS_SSSB
33fdd4e1e0SJan Lentfer#define WACS_BTEE	WACS_SSBS
34fdd4e1e0SJan Lentfer#define WACS_TTEE	WACS_BSSS
35fdd4e1e0SJan Lentfer#define WACS_HLINE	WACS_BSBS
36fdd4e1e0SJan Lentfer#define WACS_VLINE	WACS_SBSB
37fdd4e1e0SJan Lentfer#define WACS_PLUS	WACS_SSSS
38fdd4e1e0SJan Lentfer
39fdd4e1e0SJan Lentfer#define WACS_S1		NCURSES_WACS('o') /* scan line 1 */
40fdd4e1e0SJan Lentfer#define WACS_S9 	NCURSES_WACS('s') /* scan line 9 */
41fdd4e1e0SJan Lentfer#define WACS_DIAMOND	NCURSES_WACS('`') /* diamond */
42fdd4e1e0SJan Lentfer#define WACS_CKBOARD	NCURSES_WACS('a') /* checker board */
43fdd4e1e0SJan Lentfer#define WACS_DEGREE	NCURSES_WACS('f') /* degree symbol */
44fdd4e1e0SJan Lentfer#define WACS_PLMINUS	NCURSES_WACS('g') /* plus/minus */
45fdd4e1e0SJan Lentfer#define WACS_BULLET	NCURSES_WACS('~') /* bullet */
46fdd4e1e0SJan Lentfer
47fdd4e1e0SJan Lentfer	/* Teletype 5410v1 symbols */
48fdd4e1e0SJan Lentfer#define WACS_LARROW	NCURSES_WACS(',') /* arrow left */
49fdd4e1e0SJan Lentfer#define WACS_RARROW	NCURSES_WACS('+') /* arrow right */
50fdd4e1e0SJan Lentfer#define WACS_DARROW	NCURSES_WACS('.') /* arrow down */
51fdd4e1e0SJan Lentfer#define WACS_UARROW	NCURSES_WACS('-') /* arrow up */
52fdd4e1e0SJan Lentfer#define WACS_BOARD	NCURSES_WACS('h') /* board of squares */
53fdd4e1e0SJan Lentfer#define WACS_LANTERN	NCURSES_WACS('i') /* lantern symbol */
54fdd4e1e0SJan Lentfer#define WACS_BLOCK	NCURSES_WACS('0') /* solid square block */
55fdd4e1e0SJan Lentfer
56fdd4e1e0SJan Lentfer	/* ncurses extensions */
57fdd4e1e0SJan Lentfer#define WACS_S3		NCURSES_WACS('p') /* scan line 3 */
58fdd4e1e0SJan Lentfer#define WACS_S7		NCURSES_WACS('r') /* scan line 7 */
59fdd4e1e0SJan Lentfer#define WACS_LEQUAL	NCURSES_WACS('y') /* less/equal */
60fdd4e1e0SJan Lentfer#define WACS_GEQUAL	NCURSES_WACS('z') /* greater/equal */
61fdd4e1e0SJan Lentfer#define WACS_PI		NCURSES_WACS('{') /* Pi */
62fdd4e1e0SJan Lentfer#define WACS_NEQUAL	NCURSES_WACS('|') /* not equal */
63fdd4e1e0SJan Lentfer#define WACS_STERLING	NCURSES_WACS('}') /* UK pound sign */
64fdd4e1e0SJan Lentfer
6500d8f3c4SJohn Marino	/* double lines */
6600d8f3c4SJohn Marino#define WACS_BDDB	NCURSES_WACS('C')
6700d8f3c4SJohn Marino#define WACS_DDBB	NCURSES_WACS('D')
6800d8f3c4SJohn Marino#define WACS_BBDD	NCURSES_WACS('B')
6900d8f3c4SJohn Marino#define WACS_DBBD	NCURSES_WACS('A')
7000d8f3c4SJohn Marino#define WACS_DBDD	NCURSES_WACS('G')
7100d8f3c4SJohn Marino#define WACS_DDDB	NCURSES_WACS('F')
7200d8f3c4SJohn Marino#define WACS_DDBD	NCURSES_WACS('H')
7300d8f3c4SJohn Marino#define WACS_BDDD	NCURSES_WACS('I')
7400d8f3c4SJohn Marino#define WACS_BDBD	NCURSES_WACS('R')
7500d8f3c4SJohn Marino#define WACS_DBDB	NCURSES_WACS('Y')
7600d8f3c4SJohn Marino#define WACS_DDDD	NCURSES_WACS('E')
7700d8f3c4SJohn Marino
7800d8f3c4SJohn Marino#define WACS_D_ULCORNER	WACS_BDDB
7900d8f3c4SJohn Marino#define WACS_D_LLCORNER	WACS_DDBB
8000d8f3c4SJohn Marino#define WACS_D_URCORNER	WACS_BBDD
8100d8f3c4SJohn Marino#define WACS_D_LRCORNER	WACS_DBBD
8200d8f3c4SJohn Marino#define WACS_D_RTEE	WACS_DBDD
8300d8f3c4SJohn Marino#define WACS_D_LTEE	WACS_DDDB
8400d8f3c4SJohn Marino#define WACS_D_BTEE	WACS_DDBD
8500d8f3c4SJohn Marino#define WACS_D_TTEE	WACS_BDDD
8600d8f3c4SJohn Marino#define WACS_D_HLINE	WACS_BDBD
8700d8f3c4SJohn Marino#define WACS_D_VLINE	WACS_DBDB
8800d8f3c4SJohn Marino#define WACS_D_PLUS	WACS_DDDD
8900d8f3c4SJohn Marino
9000d8f3c4SJohn Marino	/* thick lines */
9100d8f3c4SJohn Marino#define WACS_BTTB	NCURSES_WACS('L')
9200d8f3c4SJohn Marino#define WACS_TTBB	NCURSES_WACS('M')
9300d8f3c4SJohn Marino#define WACS_BBTT	NCURSES_WACS('K')
9400d8f3c4SJohn Marino#define WACS_TBBT	NCURSES_WACS('J')
9500d8f3c4SJohn Marino#define WACS_TBTT	NCURSES_WACS('U')
9600d8f3c4SJohn Marino#define WACS_TTTB	NCURSES_WACS('T')
9700d8f3c4SJohn Marino#define WACS_TTBT	NCURSES_WACS('V')
9800d8f3c4SJohn Marino#define WACS_BTTT	NCURSES_WACS('W')
9900d8f3c4SJohn Marino#define WACS_BTBT	NCURSES_WACS('Q')
10000d8f3c4SJohn Marino#define WACS_TBTB	NCURSES_WACS('X')
10100d8f3c4SJohn Marino#define WACS_TTTT	NCURSES_WACS('N')
10200d8f3c4SJohn Marino
10300d8f3c4SJohn Marino#define WACS_T_ULCORNER	WACS_BTTB
10400d8f3c4SJohn Marino#define WACS_T_LLCORNER	WACS_TTBB
10500d8f3c4SJohn Marino#define WACS_T_URCORNER	WACS_BBTT
10600d8f3c4SJohn Marino#define WACS_T_LRCORNER	WACS_TBBT
10700d8f3c4SJohn Marino#define WACS_T_RTEE	WACS_TBTT
10800d8f3c4SJohn Marino#define WACS_T_LTEE	WACS_TTTB
10900d8f3c4SJohn Marino#define WACS_T_BTEE	WACS_TTBT
11000d8f3c4SJohn Marino#define WACS_T_TTEE	WACS_BTTT
11100d8f3c4SJohn Marino#define WACS_T_HLINE	WACS_BTBT
11200d8f3c4SJohn Marino#define WACS_T_VLINE	WACS_TBTB
11300d8f3c4SJohn Marino#define WACS_T_PLUS	WACS_TTTT
11400d8f3c4SJohn Marino
115fdd4e1e0SJan Lentfer/*
116fdd4e1e0SJan Lentfer * Function prototypes for wide-character operations.
117fdd4e1e0SJan Lentfer *
118fdd4e1e0SJan Lentfer * "generated" comments should include ":WIDEC" to make the corresponding
119fdd4e1e0SJan Lentfer * functions ifdef'd in lib_gen.c
120fdd4e1e0SJan Lentfer *
121fdd4e1e0SJan Lentfer * "implemented" comments do not need this marker.
122fdd4e1e0SJan Lentfer */
123fdd4e1e0SJan Lentfer
124fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) add_wch (const cchar_t *);			/* generated:WIDEC */
125fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) add_wchnstr (const cchar_t *, int);		/* generated:WIDEC */
126fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) add_wchstr (const cchar_t *);		/* generated:WIDEC */
127fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) addnwstr (const wchar_t *, int);		/* generated:WIDEC */
128fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) addwstr (const wchar_t *);			/* generated:WIDEC */
129fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) bkgrnd (const cchar_t *);			/* generated:WIDEC */
130fdd4e1e0SJan Lentferextern NCURSES_EXPORT(void) bkgrndset (const cchar_t *);		/* generated:WIDEC */
131fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) border_set (const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*); /* generated:WIDEC */
132fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) box_set (WINDOW *, const cchar_t *, const cchar_t *);	/* generated:WIDEC */
133fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) echo_wchar (const cchar_t *);		/* generated:WIDEC */
134fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) erasewchar (wchar_t*);			/* implemented */
135fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) get_wch (wint_t *);				/* generated:WIDEC */
136fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) get_wstr (wint_t *);				/* generated:WIDEC */
137fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) getbkgrnd (cchar_t *);			/* generated:WIDEC */
1383468e90cSJohn Marinoextern NCURSES_EXPORT(int) getcchar (const cchar_t *, wchar_t*, attr_t*, NCURSES_PAIRS_T*, void*);	/* implemented */
139fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) getn_wstr (wint_t *, int);			/* generated:WIDEC */
140fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) hline_set (const cchar_t *, int);		/* generated:WIDEC */
141fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) in_wch (cchar_t *);				/* generated:WIDEC */
142fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) in_wchnstr (cchar_t *, int);			/* generated:WIDEC */
143fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) in_wchstr (cchar_t *);			/* generated:WIDEC */
144fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) innwstr (wchar_t *, int);			/* generated:WIDEC */
145fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) ins_nwstr (const wchar_t *, int);		/* generated:WIDEC */
146fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) ins_wch (const cchar_t *);			/* generated:WIDEC */
147fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) ins_wstr (const wchar_t *);			/* generated:WIDEC */
148fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) inwstr (wchar_t *);				/* generated:WIDEC */
149fdd4e1e0SJan Lentferextern NCURSES_EXPORT(NCURSES_CONST char*) key_name (wchar_t);		/* implemented */
150fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) killwchar (wchar_t *);			/* implemented */
151fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvadd_wch (int, int, const cchar_t *);	/* generated:WIDEC */
152fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvadd_wchnstr (int, int, const cchar_t *, int);/* generated:WIDEC */
153fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvadd_wchstr (int, int, const cchar_t *);	/* generated:WIDEC */
154fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvaddnwstr (int, int, const wchar_t *, int);	/* generated:WIDEC */
155fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvaddwstr (int, int, const wchar_t *);	/* generated:WIDEC */
156fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvget_wch (int, int, wint_t *);		/* generated:WIDEC */
157fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvget_wstr (int, int, wint_t *);		/* generated:WIDEC */
158fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvgetn_wstr (int, int, wint_t *, int);	/* generated:WIDEC */
159fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvhline_set (int, int, const cchar_t *, int);	/* generated:WIDEC */
160fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvin_wch (int, int, cchar_t *);		/* generated:WIDEC */
161fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvin_wchnstr (int, int, cchar_t *, int);	/* generated:WIDEC */
162fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvin_wchstr (int, int, cchar_t *);		/* generated:WIDEC */
163fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvinnwstr (int, int, wchar_t *, int);	/* generated:WIDEC */
164fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvins_nwstr (int, int, const wchar_t *, int);	/* generated:WIDEC */
165fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvins_wch (int, int, const cchar_t *);	/* generated:WIDEC */
166fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvins_wstr (int, int, const wchar_t *);	/* generated:WIDEC */
167fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvinwstr (int, int, wchar_t *);		/* generated:WIDEC */
168fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvvline_set (int, int, const cchar_t *, int);	/* generated:WIDEC */
169fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvwadd_wch (WINDOW *, int, int, const cchar_t *);	/* generated:WIDEC */
170fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvwadd_wchnstr (WINDOW *, int, int, const cchar_t *, int); /* generated:WIDEC */
171fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvwadd_wchstr (WINDOW *, int, int, const cchar_t *);	/* generated:WIDEC */
172fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvwaddnwstr (WINDOW *, int, int, const wchar_t *, int);/* generated:WIDEC */
173fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvwaddwstr (WINDOW *, int, int, const wchar_t *);	/* generated:WIDEC */
174fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvwget_wch (WINDOW *, int, int, wint_t *);	/* generated:WIDEC */
175fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvwget_wstr (WINDOW *, int, int, wint_t *);	/* generated:WIDEC */
176fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvwgetn_wstr (WINDOW *, int, int, wint_t *, int);/* generated:WIDEC */
177fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvwhline_set (WINDOW *, int, int, const cchar_t *, int);/* generated:WIDEC */
178fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvwin_wch (WINDOW *, int, int, cchar_t *);	/* generated:WIDEC */
179fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvwin_wchnstr (WINDOW *, int,int, cchar_t *,int);	/* generated:WIDEC */
180fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvwin_wchstr (WINDOW *, int, int, cchar_t *);	/* generated:WIDEC */
181fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvwinnwstr (WINDOW *, int, int, wchar_t *, int);	/* generated:WIDEC */
182fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvwins_nwstr (WINDOW *, int,int, const wchar_t *,int); /* generated:WIDEC */
183fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvwins_wch (WINDOW *, int, int, const cchar_t *);	/* generated:WIDEC */
184fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvwins_wstr (WINDOW *, int, int, const wchar_t *);	/* generated:WIDEC */
185fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvwinwstr (WINDOW *, int, int, wchar_t *);		/* generated:WIDEC */
186fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) mvwvline_set (WINDOW *, int,int, const cchar_t *,int); /* generated:WIDEC */
187fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) pecho_wchar (WINDOW *, const cchar_t *);	/* implemented */
1883468e90cSJohn Marinoextern NCURSES_EXPORT(int) setcchar (cchar_t *, const wchar_t *, const attr_t, NCURSES_PAIRS_T, const void *);	/* implemented */
189fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) slk_wset (int, const wchar_t *, int);	/* implemented */
190fdd4e1e0SJan Lentferextern NCURSES_EXPORT(attr_t) term_attrs (void);			/* implemented */
191fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) unget_wch (const wchar_t);			/* implemented */
1923468e90cSJohn Marinoextern NCURSES_EXPORT(int) vid_attr (attr_t, NCURSES_PAIRS_T, void *);		/* implemented */
1933468e90cSJohn Marinoextern NCURSES_EXPORT(int) vid_puts (attr_t, NCURSES_PAIRS_T, void *, NCURSES_OUTC); /* implemented */
194fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) vline_set (const cchar_t *, int);		/* generated:WIDEC */
195fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) wadd_wch (WINDOW *,const cchar_t *);		/* implemented */
196fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) wadd_wchnstr (WINDOW *,const cchar_t *,int);	/* implemented */
197fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) wadd_wchstr (WINDOW *,const cchar_t *);	/* generated:WIDEC */
198fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) waddnwstr (WINDOW *,const wchar_t *,int);	/* implemented */
199fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) waddwstr (WINDOW *,const wchar_t *);		/* generated:WIDEC */
200fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) wbkgrnd (WINDOW *,const cchar_t *);		/* implemented */
201fdd4e1e0SJan Lentferextern NCURSES_EXPORT(void) wbkgrndset (WINDOW *,const cchar_t *);	/* implemented */
202fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) wborder_set (WINDOW *,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*);	/* implemented */
203fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) wecho_wchar (WINDOW *, const cchar_t *);	/* implemented */
204fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) wget_wch (WINDOW *, wint_t *);		/* implemented */
205fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) wget_wstr (WINDOW *, wint_t *);		/* generated:WIDEC */
2061d102085SJan Lentferextern NCURSES_EXPORT(int) wgetbkgrnd (WINDOW *, cchar_t *);		/* generated:WIDEC */
207fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) wgetn_wstr (WINDOW *, wint_t *, int);	/* implemented */
208fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) whline_set (WINDOW *, const cchar_t *, int);	/* implemented */
209fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) win_wch (WINDOW *, cchar_t *);		/* implemented */
210fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) win_wchnstr (WINDOW *, cchar_t *, int);	/* implemented */
211fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) win_wchstr (WINDOW *, cchar_t *);		/* generated:WIDEC */
212fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) winnwstr (WINDOW *, wchar_t *, int);		/* implemented */
213fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) wins_nwstr (WINDOW *, const wchar_t *, int);	/* implemented */
214fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) wins_wch (WINDOW *, const cchar_t *);	/* implemented */
215fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) wins_wstr (WINDOW *, const wchar_t *);	/* generated:WIDEC */
216fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) winwstr (WINDOW *, wchar_t *);		/* implemented */
217fdd4e1e0SJan Lentferextern NCURSES_EXPORT(wchar_t*) wunctrl (cchar_t *);			/* implemented */
218fdd4e1e0SJan Lentferextern NCURSES_EXPORT(int) wvline_set (WINDOW *, const cchar_t *, int);	/* implemented */
219fdd4e1e0SJan Lentfer
22000d8f3c4SJohn Marino#if NCURSES_SP_FUNCS
22100d8f3c4SJohn Marinoextern NCURSES_EXPORT(attr_t) NCURSES_SP_NAME(term_attrs) (SCREEN*);		/* implemented:SP_FUNC */
22200d8f3c4SJohn Marinoextern NCURSES_EXPORT(int) NCURSES_SP_NAME(unget_wch) (SCREEN*, const wchar_t);	/* implemented:SP_FUNC */
22300d8f3c4SJohn Marinoextern NCURSES_EXPORT(wchar_t*) NCURSES_SP_NAME(wunctrl) (SCREEN*, cchar_t *);	/* implemented:SP_FUNC */
2243468e90cSJohn Marinoextern NCURSES_EXPORT(int) NCURSES_SP_NAME(vid_attr) (SCREEN*, attr_t, NCURSES_PAIRS_T, void *);	/* implemented:SP_FUNC */
2253468e90cSJohn Marinoextern NCURSES_EXPORT(int) NCURSES_SP_NAME(vid_puts) (SCREEN*, attr_t, NCURSES_PAIRS_T, void *, NCURSES_SP_OUTC);	/* implemented:SP_FUNC */
22600d8f3c4SJohn Marino#endif
22700d8f3c4SJohn Marino
2281d102085SJan Lentfer#ifndef NCURSES_NOMACROS
2291d102085SJan Lentfer
230fdd4e1e0SJan Lentfer/*
231fdd4e1e0SJan Lentfer * XSI curses macros for XPG4 conformance.
232fdd4e1e0SJan Lentfer */
2333468e90cSJohn Marino#define add_wch(c)			wadd_wch(stdscr,(c))
2343468e90cSJohn Marino#define add_wchnstr(str,n)		wadd_wchnstr(stdscr,(str),(n))
2353468e90cSJohn Marino#define add_wchstr(str)			wadd_wchstr(stdscr,(str))
2363468e90cSJohn Marino#define addnwstr(wstr,n)		waddnwstr(stdscr,(wstr),(n))
2373468e90cSJohn Marino#define addwstr(wstr)			waddwstr(stdscr,(wstr))
2383468e90cSJohn Marino#define bkgrnd(c)			wbkgrnd(stdscr,(c))
2393468e90cSJohn Marino#define bkgrndset(c)			wbkgrndset(stdscr,(c))
2403468e90cSJohn Marino#define border_set(l,r,t,b,tl,tr,bl,br) wborder_set(stdscr,(l),(r),(t),(b),tl,tr,bl,br)
2413468e90cSJohn Marino#define box_set(w,v,h)			wborder_set((w),(v),(v),(h),(h),0,0,0,0)
2423468e90cSJohn Marino#define echo_wchar(c)			wecho_wchar(stdscr,(c))
2433468e90cSJohn Marino#define get_wch(c)			wget_wch(stdscr,(c))
2443468e90cSJohn Marino#define get_wstr(t)			wget_wstr(stdscr,(t))
2453468e90cSJohn Marino#define getbkgrnd(wch)			wgetbkgrnd(stdscr,(wch))
2463468e90cSJohn Marino#define getn_wstr(t,n)			wgetn_wstr(stdscr,(t),(n))
2473468e90cSJohn Marino#define hline_set(c,n)			whline_set(stdscr,(c),(n))
2483468e90cSJohn Marino#define in_wch(c)			win_wch(stdscr,(c))
2493468e90cSJohn Marino#define in_wchnstr(c,n)			win_wchnstr(stdscr,(c),(n))
2503468e90cSJohn Marino#define in_wchstr(c)			win_wchstr(stdscr,(c))
2513468e90cSJohn Marino#define innwstr(c,n)			winnwstr(stdscr,(c),(n))
2523468e90cSJohn Marino#define ins_nwstr(t,n)			wins_nwstr(stdscr,(t),(n))
2533468e90cSJohn Marino#define ins_wch(c)			wins_wch(stdscr,(c))
2543468e90cSJohn Marino#define ins_wstr(t)			wins_wstr(stdscr,(t))
2553468e90cSJohn Marino#define inwstr(c)			winwstr(stdscr,(c))
2563468e90cSJohn Marino#define vline_set(c,n)			wvline_set(stdscr,(c),(n))
2573468e90cSJohn Marino#define wadd_wchstr(win,str)		wadd_wchnstr((win),(str),-1)
2583468e90cSJohn Marino#define waddwstr(win,wstr)		waddnwstr((win),(wstr),-1)
2593468e90cSJohn Marino#define wget_wstr(w,t)			wgetn_wstr((w),(t),-1)
2603468e90cSJohn Marino#define win_wchstr(w,c)			win_wchnstr((w),(c),-1)
2613468e90cSJohn Marino#define wins_wstr(w,t)			wins_nwstr((w),(t),-1)
262fdd4e1e0SJan Lentfer
2631d102085SJan Lentfer#if !NCURSES_OPAQUE
264*32bb5217SDaniel Fojt#define wgetbkgrnd(win,wch)		(NCURSES_OK_ADDR(wch) ? ((win) ? (*(wch) = (win)->_bkgrnd) : *(wch), OK) : ERR)
2651d102085SJan Lentfer#endif
2661d102085SJan Lentfer
2673468e90cSJohn Marino#define mvadd_wch(y,x,c)		mvwadd_wch(stdscr,(y),(x),(c))
2683468e90cSJohn Marino#define mvadd_wchnstr(y,x,s,n)		mvwadd_wchnstr(stdscr,(y),(x),(s),(n))
2693468e90cSJohn Marino#define mvadd_wchstr(y,x,s)		mvwadd_wchstr(stdscr,(y),(x),(s))
2703468e90cSJohn Marino#define mvaddnwstr(y,x,wstr,n)		mvwaddnwstr(stdscr,(y),(x),(wstr),(n))
2713468e90cSJohn Marino#define mvaddwstr(y,x,wstr)		mvwaddwstr(stdscr,(y),(x),(wstr))
2723468e90cSJohn Marino#define mvget_wch(y,x,c)		mvwget_wch(stdscr,(y),(x),(c))
2733468e90cSJohn Marino#define mvget_wstr(y,x,t)		mvwget_wstr(stdscr,(y),(x),(t))
2743468e90cSJohn Marino#define mvgetn_wstr(y,x,t,n)		mvwgetn_wstr(stdscr,(y),(x),(t),(n))
2753468e90cSJohn Marino#define mvhline_set(y,x,c,n)		mvwhline_set(stdscr,(y),(x),(c),(n))
2763468e90cSJohn Marino#define mvin_wch(y,x,c)			mvwin_wch(stdscr,(y),(x),(c))
2773468e90cSJohn Marino#define mvin_wchnstr(y,x,c,n)		mvwin_wchnstr(stdscr,(y),(x),(c),(n))
2783468e90cSJohn Marino#define mvin_wchstr(y,x,c)		mvwin_wchstr(stdscr,(y),(x),(c))
2793468e90cSJohn Marino#define mvinnwstr(y,x,c,n)		mvwinnwstr(stdscr,(y),(x),(c),(n))
2803468e90cSJohn Marino#define mvins_nwstr(y,x,t,n)		mvwins_nwstr(stdscr,(y),(x),(t),(n))
2813468e90cSJohn Marino#define mvins_wch(y,x,c)		mvwins_wch(stdscr,(y),(x),(c))
2823468e90cSJohn Marino#define mvins_wstr(y,x,t)		mvwins_wstr(stdscr,(y),(x),(t))
2833468e90cSJohn Marino#define mvinwstr(y,x,c)			mvwinwstr(stdscr,(y),(x),(c))
2843468e90cSJohn Marino#define mvvline_set(y,x,c,n)		mvwvline_set(stdscr,(y),(x),(c),(n))
285fdd4e1e0SJan Lentfer
2863468e90cSJohn Marino#define mvwadd_wch(win,y,x,c)		(wmove(win,(y),(x)) == ERR ? ERR : wadd_wch((win),(c)))
2873468e90cSJohn Marino#define mvwadd_wchnstr(win,y,x,s,n)	(wmove(win,(y),(x)) == ERR ? ERR : wadd_wchnstr((win),(s),(n)))
2883468e90cSJohn Marino#define mvwadd_wchstr(win,y,x,s)	(wmove(win,(y),(x)) == ERR ? ERR : wadd_wchstr((win),(s)))
2893468e90cSJohn Marino#define mvwaddnwstr(win,y,x,wstr,n)	(wmove(win,(y),(x)) == ERR ? ERR : waddnwstr((win),(wstr),(n)))
2903468e90cSJohn Marino#define mvwaddwstr(win,y,x,wstr)	(wmove(win,(y),(x)) == ERR ? ERR : waddwstr((win),(wstr)))
2913468e90cSJohn Marino#define mvwget_wch(win,y,x,c)		(wmove(win,(y),(x)) == ERR ? ERR : wget_wch((win),(c)))
2923468e90cSJohn Marino#define mvwget_wstr(win,y,x,t)		(wmove(win,(y),(x)) == ERR ? ERR : wget_wstr((win),(t)))
2933468e90cSJohn Marino#define mvwgetn_wstr(win,y,x,t,n)	(wmove(win,(y),(x)) == ERR ? ERR : wgetn_wstr((win),(t),(n)))
2943468e90cSJohn Marino#define mvwhline_set(win,y,x,c,n)	(wmove(win,(y),(x)) == ERR ? ERR : whline_set((win),(c),(n)))
2953468e90cSJohn Marino#define mvwin_wch(win,y,x,c)		(wmove(win,(y),(x)) == ERR ? ERR : win_wch((win),(c)))
2963468e90cSJohn Marino#define mvwin_wchnstr(win,y,x,c,n)	(wmove(win,(y),(x)) == ERR ? ERR : win_wchnstr((win),(c),(n)))
2973468e90cSJohn Marino#define mvwin_wchstr(win,y,x,c)		(wmove(win,(y),(x)) == ERR ? ERR : win_wchstr((win),(c)))
2983468e90cSJohn Marino#define mvwinnwstr(win,y,x,c,n)		(wmove(win,(y),(x)) == ERR ? ERR : winnwstr((win),(c),(n)))
2993468e90cSJohn Marino#define mvwins_nwstr(win,y,x,t,n)	(wmove(win,(y),(x)) == ERR ? ERR : wins_nwstr((win),(t),(n)))
3003468e90cSJohn Marino#define mvwins_wch(win,y,x,c)		(wmove(win,(y),(x)) == ERR ? ERR : wins_wch((win),(c)))
3013468e90cSJohn Marino#define mvwins_wstr(win,y,x,t)		(wmove(win,(y),(x)) == ERR ? ERR : wins_wstr((win),(t)))
3023468e90cSJohn Marino#define mvwinwstr(win,y,x,c)		(wmove(win,(y),(x)) == ERR ? ERR : winwstr((win),(c)))
3033468e90cSJohn Marino#define mvwvline_set(win,y,x,c,n)	(wmove(win,(y),(x)) == ERR ? ERR : wvline_set((win),(c),(n)))
304fdd4e1e0SJan Lentfer
3051d102085SJan Lentfer#endif /* NCURSES_NOMACROS */
3061d102085SJan Lentfer
3071d102085SJan Lentfer#if defined(TRACE) || defined(NCURSES_TEST)
3081d102085SJan Lentferextern NCURSES_EXPORT(const char *) _nc_viswbuf(const wchar_t *);
3091d102085SJan Lentferextern NCURSES_EXPORT(const char *) _nc_viswibuf(const wint_t *);
3101d102085SJan Lentfer#endif
3111d102085SJan Lentfer
31200d8f3c4SJohn Marino#endif /* NCURSES_WIDECHAR */
313