1*21817992SBaptiste Daroussin/* $Id: curses.wide,v 1.51 2021/05/22 20:28:29 tom Exp $ */ 24a1a9510SRong-En Fan/* 35ca44d1cSRong-En Fan * vile:cmode: 44a1a9510SRong-En Fan * This file is part of ncurses, designed to be appended after curses.h.in 54a1a9510SRong-En Fan * (see that file for the relevant copyright). 64a1a9510SRong-En Fan */ 706bfebdeSXin LI#define _XOPEN_CURSES 1 806bfebdeSXin LI 973f0a83dSXin LI#if NCURSES_WIDECHAR 1039f2269fSPeter Wemm 1139f2269fSPeter Wemmextern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs; 1239f2269fSPeter Wemm 1373f0a83dSXin LI#define NCURSES_WACS(c) (&_nc_wacs[NCURSES_CAST(unsigned char,(c))]) 144a1a9510SRong-En Fan 154a1a9510SRong-En Fan#define WACS_BSSB NCURSES_WACS('l') 164a1a9510SRong-En Fan#define WACS_SSBB NCURSES_WACS('m') 174a1a9510SRong-En Fan#define WACS_BBSS NCURSES_WACS('k') 184a1a9510SRong-En Fan#define WACS_SBBS NCURSES_WACS('j') 194a1a9510SRong-En Fan#define WACS_SBSS NCURSES_WACS('u') 204a1a9510SRong-En Fan#define WACS_SSSB NCURSES_WACS('t') 214a1a9510SRong-En Fan#define WACS_SSBS NCURSES_WACS('v') 224a1a9510SRong-En Fan#define WACS_BSSS NCURSES_WACS('w') 234a1a9510SRong-En Fan#define WACS_BSBS NCURSES_WACS('q') 244a1a9510SRong-En Fan#define WACS_SBSB NCURSES_WACS('x') 254a1a9510SRong-En Fan#define WACS_SSSS NCURSES_WACS('n') 2639f2269fSPeter Wemm 2739f2269fSPeter Wemm#define WACS_ULCORNER WACS_BSSB 2839f2269fSPeter Wemm#define WACS_LLCORNER WACS_SSBB 2939f2269fSPeter Wemm#define WACS_URCORNER WACS_BBSS 3039f2269fSPeter Wemm#define WACS_LRCORNER WACS_SBBS 3139f2269fSPeter Wemm#define WACS_RTEE WACS_SBSS 3239f2269fSPeter Wemm#define WACS_LTEE WACS_SSSB 3339f2269fSPeter Wemm#define WACS_BTEE WACS_SSBS 3439f2269fSPeter Wemm#define WACS_TTEE WACS_BSSS 3539f2269fSPeter Wemm#define WACS_HLINE WACS_BSBS 3639f2269fSPeter Wemm#define WACS_VLINE WACS_SBSB 3739f2269fSPeter Wemm#define WACS_PLUS WACS_SSSS 3839f2269fSPeter Wemm 394a1a9510SRong-En Fan#define WACS_S1 NCURSES_WACS('o') /* scan line 1 */ 404a1a9510SRong-En Fan#define WACS_S9 NCURSES_WACS('s') /* scan line 9 */ 414a1a9510SRong-En Fan#define WACS_DIAMOND NCURSES_WACS('`') /* diamond */ 424a1a9510SRong-En Fan#define WACS_CKBOARD NCURSES_WACS('a') /* checker board */ 434a1a9510SRong-En Fan#define WACS_DEGREE NCURSES_WACS('f') /* degree symbol */ 444a1a9510SRong-En Fan#define WACS_PLMINUS NCURSES_WACS('g') /* plus/minus */ 454a1a9510SRong-En Fan#define WACS_BULLET NCURSES_WACS('~') /* bullet */ 4639f2269fSPeter Wemm 4739f2269fSPeter Wemm /* Teletype 5410v1 symbols */ 484a1a9510SRong-En Fan#define WACS_LARROW NCURSES_WACS(',') /* arrow left */ 494a1a9510SRong-En Fan#define WACS_RARROW NCURSES_WACS('+') /* arrow right */ 504a1a9510SRong-En Fan#define WACS_DARROW NCURSES_WACS('.') /* arrow down */ 514a1a9510SRong-En Fan#define WACS_UARROW NCURSES_WACS('-') /* arrow up */ 524a1a9510SRong-En Fan#define WACS_BOARD NCURSES_WACS('h') /* board of squares */ 534a1a9510SRong-En Fan#define WACS_LANTERN NCURSES_WACS('i') /* lantern symbol */ 544a1a9510SRong-En Fan#define WACS_BLOCK NCURSES_WACS('0') /* solid square block */ 5539f2269fSPeter Wemm 5639f2269fSPeter Wemm /* ncurses extensions */ 574a1a9510SRong-En Fan#define WACS_S3 NCURSES_WACS('p') /* scan line 3 */ 584a1a9510SRong-En Fan#define WACS_S7 NCURSES_WACS('r') /* scan line 7 */ 594a1a9510SRong-En Fan#define WACS_LEQUAL NCURSES_WACS('y') /* less/equal */ 604a1a9510SRong-En Fan#define WACS_GEQUAL NCURSES_WACS('z') /* greater/equal */ 614a1a9510SRong-En Fan#define WACS_PI NCURSES_WACS('{') /* Pi */ 624a1a9510SRong-En Fan#define WACS_NEQUAL NCURSES_WACS('|') /* not equal */ 634a1a9510SRong-En Fan#define WACS_STERLING NCURSES_WACS('}') /* UK pound sign */ 6439f2269fSPeter Wemm 6506bfebdeSXin LI /* double lines */ 6606bfebdeSXin LI#define WACS_BDDB NCURSES_WACS('C') 6706bfebdeSXin LI#define WACS_DDBB NCURSES_WACS('D') 6806bfebdeSXin LI#define WACS_BBDD NCURSES_WACS('B') 6906bfebdeSXin LI#define WACS_DBBD NCURSES_WACS('A') 7006bfebdeSXin LI#define WACS_DBDD NCURSES_WACS('G') 7106bfebdeSXin LI#define WACS_DDDB NCURSES_WACS('F') 7206bfebdeSXin LI#define WACS_DDBD NCURSES_WACS('H') 7306bfebdeSXin LI#define WACS_BDDD NCURSES_WACS('I') 7406bfebdeSXin LI#define WACS_BDBD NCURSES_WACS('R') 7506bfebdeSXin LI#define WACS_DBDB NCURSES_WACS('Y') 7606bfebdeSXin LI#define WACS_DDDD NCURSES_WACS('E') 7706bfebdeSXin LI 7806bfebdeSXin LI#define WACS_D_ULCORNER WACS_BDDB 7906bfebdeSXin LI#define WACS_D_LLCORNER WACS_DDBB 8006bfebdeSXin LI#define WACS_D_URCORNER WACS_BBDD 8106bfebdeSXin LI#define WACS_D_LRCORNER WACS_DBBD 8206bfebdeSXin LI#define WACS_D_RTEE WACS_DBDD 8306bfebdeSXin LI#define WACS_D_LTEE WACS_DDDB 8406bfebdeSXin LI#define WACS_D_BTEE WACS_DDBD 8506bfebdeSXin LI#define WACS_D_TTEE WACS_BDDD 8606bfebdeSXin LI#define WACS_D_HLINE WACS_BDBD 8706bfebdeSXin LI#define WACS_D_VLINE WACS_DBDB 8806bfebdeSXin LI#define WACS_D_PLUS WACS_DDDD 8906bfebdeSXin LI 9006bfebdeSXin LI /* thick lines */ 9106bfebdeSXin LI#define WACS_BTTB NCURSES_WACS('L') 9206bfebdeSXin LI#define WACS_TTBB NCURSES_WACS('M') 9306bfebdeSXin LI#define WACS_BBTT NCURSES_WACS('K') 9406bfebdeSXin LI#define WACS_TBBT NCURSES_WACS('J') 9506bfebdeSXin LI#define WACS_TBTT NCURSES_WACS('U') 9606bfebdeSXin LI#define WACS_TTTB NCURSES_WACS('T') 9706bfebdeSXin LI#define WACS_TTBT NCURSES_WACS('V') 9806bfebdeSXin LI#define WACS_BTTT NCURSES_WACS('W') 9906bfebdeSXin LI#define WACS_BTBT NCURSES_WACS('Q') 10006bfebdeSXin LI#define WACS_TBTB NCURSES_WACS('X') 10106bfebdeSXin LI#define WACS_TTTT NCURSES_WACS('N') 10206bfebdeSXin LI 10306bfebdeSXin LI#define WACS_T_ULCORNER WACS_BTTB 10406bfebdeSXin LI#define WACS_T_LLCORNER WACS_TTBB 10506bfebdeSXin LI#define WACS_T_URCORNER WACS_BBTT 10606bfebdeSXin LI#define WACS_T_LRCORNER WACS_TBBT 10706bfebdeSXin LI#define WACS_T_RTEE WACS_TBTT 10806bfebdeSXin LI#define WACS_T_LTEE WACS_TTTB 10906bfebdeSXin LI#define WACS_T_BTEE WACS_TTBT 11006bfebdeSXin LI#define WACS_T_TTEE WACS_BTTT 11106bfebdeSXin LI#define WACS_T_HLINE WACS_BTBT 11206bfebdeSXin LI#define WACS_T_VLINE WACS_TBTB 11306bfebdeSXin LI#define WACS_T_PLUS WACS_TTTT 11406bfebdeSXin LI 11539f2269fSPeter Wemm/* 11639f2269fSPeter Wemm * Function prototypes for wide-character operations. 11739f2269fSPeter Wemm * 11839f2269fSPeter Wemm * "generated" comments should include ":WIDEC" to make the corresponding 11939f2269fSPeter Wemm * functions ifdef'd in lib_gen.c 12039f2269fSPeter Wemm * 12139f2269fSPeter Wemm * "implemented" comments do not need this marker. 12239f2269fSPeter Wemm */ 12339f2269fSPeter Wemm 12439f2269fSPeter Wemmextern NCURSES_EXPORT(int) add_wch (const cchar_t *); /* generated:WIDEC */ 12539f2269fSPeter Wemmextern NCURSES_EXPORT(int) add_wchnstr (const cchar_t *, int); /* generated:WIDEC */ 12639f2269fSPeter Wemmextern NCURSES_EXPORT(int) add_wchstr (const cchar_t *); /* generated:WIDEC */ 12739f2269fSPeter Wemmextern NCURSES_EXPORT(int) addnwstr (const wchar_t *, int); /* generated:WIDEC */ 12839f2269fSPeter Wemmextern NCURSES_EXPORT(int) addwstr (const wchar_t *); /* generated:WIDEC */ 12939f2269fSPeter Wemmextern NCURSES_EXPORT(int) bkgrnd (const cchar_t *); /* generated:WIDEC */ 13039f2269fSPeter Wemmextern NCURSES_EXPORT(void) bkgrndset (const cchar_t *); /* generated:WIDEC */ 13139f2269fSPeter Wemmextern 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 */ 13239f2269fSPeter Wemmextern NCURSES_EXPORT(int) box_set (WINDOW *, const cchar_t *, const cchar_t *); /* generated:WIDEC */ 13339f2269fSPeter Wemmextern NCURSES_EXPORT(int) echo_wchar (const cchar_t *); /* generated:WIDEC */ 1344a1a9510SRong-En Fanextern NCURSES_EXPORT(int) erasewchar (wchar_t*); /* implemented */ 13539f2269fSPeter Wemmextern NCURSES_EXPORT(int) get_wch (wint_t *); /* generated:WIDEC */ 13639f2269fSPeter Wemmextern NCURSES_EXPORT(int) get_wstr (wint_t *); /* generated:WIDEC */ 13739f2269fSPeter Wemmextern NCURSES_EXPORT(int) getbkgrnd (cchar_t *); /* generated:WIDEC */ 13873f0a83dSXin LIextern NCURSES_EXPORT(int) getcchar (const cchar_t *, wchar_t*, attr_t*, NCURSES_PAIRS_T*, void*); /* implemented */ 13939f2269fSPeter Wemmextern NCURSES_EXPORT(int) getn_wstr (wint_t *, int); /* generated:WIDEC */ 14039f2269fSPeter Wemmextern NCURSES_EXPORT(int) hline_set (const cchar_t *, int); /* generated:WIDEC */ 1414a1a9510SRong-En Fanextern NCURSES_EXPORT(int) in_wch (cchar_t *); /* generated:WIDEC */ 1424a1a9510SRong-En Fanextern NCURSES_EXPORT(int) in_wchnstr (cchar_t *, int); /* generated:WIDEC */ 1434a1a9510SRong-En Fanextern NCURSES_EXPORT(int) in_wchstr (cchar_t *); /* generated:WIDEC */ 14439f2269fSPeter Wemmextern NCURSES_EXPORT(int) innwstr (wchar_t *, int); /* generated:WIDEC */ 14539f2269fSPeter Wemmextern NCURSES_EXPORT(int) ins_nwstr (const wchar_t *, int); /* generated:WIDEC */ 14639f2269fSPeter Wemmextern NCURSES_EXPORT(int) ins_wch (const cchar_t *); /* generated:WIDEC */ 14739f2269fSPeter Wemmextern NCURSES_EXPORT(int) ins_wstr (const wchar_t *); /* generated:WIDEC */ 14839f2269fSPeter Wemmextern NCURSES_EXPORT(int) inwstr (wchar_t *); /* generated:WIDEC */ 1494a1a9510SRong-En Fanextern NCURSES_EXPORT(NCURSES_CONST char*) key_name (wchar_t); /* implemented */ 1504a1a9510SRong-En Fanextern NCURSES_EXPORT(int) killwchar (wchar_t *); /* implemented */ 15139f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvadd_wch (int, int, const cchar_t *); /* generated:WIDEC */ 15239f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvadd_wchnstr (int, int, const cchar_t *, int);/* generated:WIDEC */ 15339f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvadd_wchstr (int, int, const cchar_t *); /* generated:WIDEC */ 15439f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvaddnwstr (int, int, const wchar_t *, int); /* generated:WIDEC */ 15539f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvaddwstr (int, int, const wchar_t *); /* generated:WIDEC */ 15639f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvget_wch (int, int, wint_t *); /* generated:WIDEC */ 15739f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvget_wstr (int, int, wint_t *); /* generated:WIDEC */ 15839f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvgetn_wstr (int, int, wint_t *, int); /* generated:WIDEC */ 15939f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvhline_set (int, int, const cchar_t *, int); /* generated:WIDEC */ 1604a1a9510SRong-En Fanextern NCURSES_EXPORT(int) mvin_wch (int, int, cchar_t *); /* generated:WIDEC */ 1614a1a9510SRong-En Fanextern NCURSES_EXPORT(int) mvin_wchnstr (int, int, cchar_t *, int); /* generated:WIDEC */ 1624a1a9510SRong-En Fanextern NCURSES_EXPORT(int) mvin_wchstr (int, int, cchar_t *); /* generated:WIDEC */ 16339f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvinnwstr (int, int, wchar_t *, int); /* generated:WIDEC */ 16439f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvins_nwstr (int, int, const wchar_t *, int); /* generated:WIDEC */ 16539f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvins_wch (int, int, const cchar_t *); /* generated:WIDEC */ 16639f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvins_wstr (int, int, const wchar_t *); /* generated:WIDEC */ 16739f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvinwstr (int, int, wchar_t *); /* generated:WIDEC */ 16839f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvvline_set (int, int, const cchar_t *, int); /* generated:WIDEC */ 16939f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvwadd_wch (WINDOW *, int, int, const cchar_t *); /* generated:WIDEC */ 17039f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvwadd_wchnstr (WINDOW *, int, int, const cchar_t *, int); /* generated:WIDEC */ 17139f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvwadd_wchstr (WINDOW *, int, int, const cchar_t *); /* generated:WIDEC */ 17239f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvwaddnwstr (WINDOW *, int, int, const wchar_t *, int);/* generated:WIDEC */ 17339f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvwaddwstr (WINDOW *, int, int, const wchar_t *); /* generated:WIDEC */ 17439f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvwget_wch (WINDOW *, int, int, wint_t *); /* generated:WIDEC */ 17539f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvwget_wstr (WINDOW *, int, int, wint_t *); /* generated:WIDEC */ 17639f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvwgetn_wstr (WINDOW *, int, int, wint_t *, int);/* generated:WIDEC */ 17739f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvwhline_set (WINDOW *, int, int, const cchar_t *, int);/* generated:WIDEC */ 1784a1a9510SRong-En Fanextern NCURSES_EXPORT(int) mvwin_wch (WINDOW *, int, int, cchar_t *); /* generated:WIDEC */ 1794a1a9510SRong-En Fanextern NCURSES_EXPORT(int) mvwin_wchnstr (WINDOW *, int,int, cchar_t *,int); /* generated:WIDEC */ 1804a1a9510SRong-En Fanextern NCURSES_EXPORT(int) mvwin_wchstr (WINDOW *, int, int, cchar_t *); /* generated:WIDEC */ 18139f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvwinnwstr (WINDOW *, int, int, wchar_t *, int); /* generated:WIDEC */ 18239f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvwins_nwstr (WINDOW *, int,int, const wchar_t *,int); /* generated:WIDEC */ 18339f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvwins_wch (WINDOW *, int, int, const cchar_t *); /* generated:WIDEC */ 18439f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvwins_wstr (WINDOW *, int, int, const wchar_t *); /* generated:WIDEC */ 18539f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvwinwstr (WINDOW *, int, int, wchar_t *); /* generated:WIDEC */ 18639f2269fSPeter Wemmextern NCURSES_EXPORT(int) mvwvline_set (WINDOW *, int,int, const cchar_t *,int); /* generated:WIDEC */ 1874a1a9510SRong-En Fanextern NCURSES_EXPORT(int) pecho_wchar (WINDOW *, const cchar_t *); /* implemented */ 18873f0a83dSXin LIextern NCURSES_EXPORT(int) setcchar (cchar_t *, const wchar_t *, const attr_t, NCURSES_PAIRS_T, const void *); /* implemented */ 1894a1a9510SRong-En Fanextern NCURSES_EXPORT(int) slk_wset (int, const wchar_t *, int); /* implemented */ 1904a1a9510SRong-En Fanextern NCURSES_EXPORT(attr_t) term_attrs (void); /* implemented */ 1914a1a9510SRong-En Fanextern NCURSES_EXPORT(int) unget_wch (const wchar_t); /* implemented */ 19273f0a83dSXin LIextern NCURSES_EXPORT(int) vid_attr (attr_t, NCURSES_PAIRS_T, void *); /* implemented */ 19373f0a83dSXin LIextern NCURSES_EXPORT(int) vid_puts (attr_t, NCURSES_PAIRS_T, void *, NCURSES_OUTC); /* implemented */ 19439f2269fSPeter Wemmextern NCURSES_EXPORT(int) vline_set (const cchar_t *, int); /* generated:WIDEC */ 19539f2269fSPeter Wemmextern NCURSES_EXPORT(int) wadd_wch (WINDOW *,const cchar_t *); /* implemented */ 19639f2269fSPeter Wemmextern NCURSES_EXPORT(int) wadd_wchnstr (WINDOW *,const cchar_t *,int); /* implemented */ 19739f2269fSPeter Wemmextern NCURSES_EXPORT(int) wadd_wchstr (WINDOW *,const cchar_t *); /* generated:WIDEC */ 19839f2269fSPeter Wemmextern NCURSES_EXPORT(int) waddnwstr (WINDOW *,const wchar_t *,int); /* implemented */ 19939f2269fSPeter Wemmextern NCURSES_EXPORT(int) waddwstr (WINDOW *,const wchar_t *); /* generated:WIDEC */ 20039f2269fSPeter Wemmextern NCURSES_EXPORT(int) wbkgrnd (WINDOW *,const cchar_t *); /* implemented */ 20139f2269fSPeter Wemmextern NCURSES_EXPORT(void) wbkgrndset (WINDOW *,const cchar_t *); /* implemented */ 20239f2269fSPeter Wemmextern 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 */ 20339f2269fSPeter Wemmextern NCURSES_EXPORT(int) wecho_wchar (WINDOW *, const cchar_t *); /* implemented */ 20439f2269fSPeter Wemmextern NCURSES_EXPORT(int) wget_wch (WINDOW *, wint_t *); /* implemented */ 20539f2269fSPeter Wemmextern NCURSES_EXPORT(int) wget_wstr (WINDOW *, wint_t *); /* generated:WIDEC */ 2064a1a9510SRong-En Fanextern NCURSES_EXPORT(int) wgetbkgrnd (WINDOW *, cchar_t *); /* generated:WIDEC */ 20739f2269fSPeter Wemmextern NCURSES_EXPORT(int) wgetn_wstr (WINDOW *, wint_t *, int); /* implemented */ 20839f2269fSPeter Wemmextern NCURSES_EXPORT(int) whline_set (WINDOW *, const cchar_t *, int); /* implemented */ 2094a1a9510SRong-En Fanextern NCURSES_EXPORT(int) win_wch (WINDOW *, cchar_t *); /* implemented */ 2104a1a9510SRong-En Fanextern NCURSES_EXPORT(int) win_wchnstr (WINDOW *, cchar_t *, int); /* implemented */ 2114a1a9510SRong-En Fanextern NCURSES_EXPORT(int) win_wchstr (WINDOW *, cchar_t *); /* generated:WIDEC */ 21239f2269fSPeter Wemmextern NCURSES_EXPORT(int) winnwstr (WINDOW *, wchar_t *, int); /* implemented */ 21339f2269fSPeter Wemmextern NCURSES_EXPORT(int) wins_nwstr (WINDOW *, const wchar_t *, int); /* implemented */ 21439f2269fSPeter Wemmextern NCURSES_EXPORT(int) wins_wch (WINDOW *, const cchar_t *); /* implemented */ 21539f2269fSPeter Wemmextern NCURSES_EXPORT(int) wins_wstr (WINDOW *, const wchar_t *); /* generated:WIDEC */ 21639f2269fSPeter Wemmextern NCURSES_EXPORT(int) winwstr (WINDOW *, wchar_t *); /* implemented */ 21739f2269fSPeter Wemmextern NCURSES_EXPORT(wchar_t*) wunctrl (cchar_t *); /* implemented */ 21839f2269fSPeter Wemmextern NCURSES_EXPORT(int) wvline_set (WINDOW *, const cchar_t *, int); /* implemented */ 21939f2269fSPeter Wemm 22006bfebdeSXin LI#if NCURSES_SP_FUNCS 22106bfebdeSXin LIextern NCURSES_EXPORT(attr_t) NCURSES_SP_NAME(term_attrs) (SCREEN*); /* implemented:SP_FUNC */ 222*21817992SBaptiste Daroussinextern NCURSES_EXPORT(int) NCURSES_SP_NAME(erasewchar) (SCREEN*, wchar_t *); /* implemented:SP_FUNC */ 223*21817992SBaptiste Daroussinextern NCURSES_EXPORT(int) NCURSES_SP_NAME(killwchar) (SCREEN*, wchar_t *); /* implemented:SP_FUNC */ 22406bfebdeSXin LIextern NCURSES_EXPORT(int) NCURSES_SP_NAME(unget_wch) (SCREEN*, const wchar_t); /* implemented:SP_FUNC */ 22573f0a83dSXin LIextern NCURSES_EXPORT(int) NCURSES_SP_NAME(vid_attr) (SCREEN*, attr_t, NCURSES_PAIRS_T, void *); /* implemented:SP_FUNC */ 22673f0a83dSXin LIextern NCURSES_EXPORT(int) NCURSES_SP_NAME(vid_puts) (SCREEN*, attr_t, NCURSES_PAIRS_T, void *, NCURSES_SP_OUTC); /* implemented:SP_FUNC */ 227*21817992SBaptiste Daroussinextern NCURSES_EXPORT(wchar_t*) NCURSES_SP_NAME(wunctrl) (SCREEN*, cchar_t *); /* implemented:SP_FUNC */ 22806bfebdeSXin LI#endif 22906bfebdeSXin LI 2304a1a9510SRong-En Fan#ifndef NCURSES_NOMACROS 2314a1a9510SRong-En Fan 23239f2269fSPeter Wemm/* 23339f2269fSPeter Wemm * XSI curses macros for XPG4 conformance. 23439f2269fSPeter Wemm */ 23573f0a83dSXin LI#define add_wch(c) wadd_wch(stdscr,(c)) 23673f0a83dSXin LI#define add_wchnstr(str,n) wadd_wchnstr(stdscr,(str),(n)) 23773f0a83dSXin LI#define add_wchstr(str) wadd_wchstr(stdscr,(str)) 23873f0a83dSXin LI#define addnwstr(wstr,n) waddnwstr(stdscr,(wstr),(n)) 23973f0a83dSXin LI#define addwstr(wstr) waddwstr(stdscr,(wstr)) 24073f0a83dSXin LI#define bkgrnd(c) wbkgrnd(stdscr,(c)) 24173f0a83dSXin LI#define bkgrndset(c) wbkgrndset(stdscr,(c)) 24273f0a83dSXin LI#define border_set(l,r,t,b,tl,tr,bl,br) wborder_set(stdscr,(l),(r),(t),(b),tl,tr,bl,br) 24373f0a83dSXin LI#define box_set(w,v,h) wborder_set((w),(v),(v),(h),(h),0,0,0,0) 24473f0a83dSXin LI#define echo_wchar(c) wecho_wchar(stdscr,(c)) 24573f0a83dSXin LI#define get_wch(c) wget_wch(stdscr,(c)) 24673f0a83dSXin LI#define get_wstr(t) wget_wstr(stdscr,(t)) 24773f0a83dSXin LI#define getbkgrnd(wch) wgetbkgrnd(stdscr,(wch)) 24873f0a83dSXin LI#define getn_wstr(t,n) wgetn_wstr(stdscr,(t),(n)) 24973f0a83dSXin LI#define hline_set(c,n) whline_set(stdscr,(c),(n)) 25073f0a83dSXin LI#define in_wch(c) win_wch(stdscr,(c)) 25173f0a83dSXin LI#define in_wchnstr(c,n) win_wchnstr(stdscr,(c),(n)) 25273f0a83dSXin LI#define in_wchstr(c) win_wchstr(stdscr,(c)) 25373f0a83dSXin LI#define innwstr(c,n) winnwstr(stdscr,(c),(n)) 25473f0a83dSXin LI#define ins_nwstr(t,n) wins_nwstr(stdscr,(t),(n)) 25573f0a83dSXin LI#define ins_wch(c) wins_wch(stdscr,(c)) 25673f0a83dSXin LI#define ins_wstr(t) wins_wstr(stdscr,(t)) 25773f0a83dSXin LI#define inwstr(c) winwstr(stdscr,(c)) 25873f0a83dSXin LI#define vline_set(c,n) wvline_set(stdscr,(c),(n)) 25973f0a83dSXin LI#define wadd_wchstr(win,str) wadd_wchnstr((win),(str),-1) 26073f0a83dSXin LI#define waddwstr(win,wstr) waddnwstr((win),(wstr),-1) 26173f0a83dSXin LI#define wget_wstr(w,t) wgetn_wstr((w),(t),-1) 26273f0a83dSXin LI#define win_wchstr(w,c) win_wchnstr((w),(c),-1) 26373f0a83dSXin LI#define wins_wstr(w,t) wins_nwstr((w),(t),-1) 26439f2269fSPeter Wemm 2655ca44d1cSRong-En Fan#if !NCURSES_OPAQUE 266aae38d10SBaptiste Daroussin#define wgetbkgrnd(win,wch) (NCURSES_OK_ADDR(wch) ? ((win) ? (*(wch) = (win)->_bkgrnd) : *(wch), OK) : ERR) 2675ca44d1cSRong-En Fan#endif 2685ca44d1cSRong-En Fan 26973f0a83dSXin LI#define mvadd_wch(y,x,c) mvwadd_wch(stdscr,(y),(x),(c)) 27073f0a83dSXin LI#define mvadd_wchnstr(y,x,s,n) mvwadd_wchnstr(stdscr,(y),(x),(s),(n)) 27173f0a83dSXin LI#define mvadd_wchstr(y,x,s) mvwadd_wchstr(stdscr,(y),(x),(s)) 27273f0a83dSXin LI#define mvaddnwstr(y,x,wstr,n) mvwaddnwstr(stdscr,(y),(x),(wstr),(n)) 27373f0a83dSXin LI#define mvaddwstr(y,x,wstr) mvwaddwstr(stdscr,(y),(x),(wstr)) 27473f0a83dSXin LI#define mvget_wch(y,x,c) mvwget_wch(stdscr,(y),(x),(c)) 27573f0a83dSXin LI#define mvget_wstr(y,x,t) mvwget_wstr(stdscr,(y),(x),(t)) 27673f0a83dSXin LI#define mvgetn_wstr(y,x,t,n) mvwgetn_wstr(stdscr,(y),(x),(t),(n)) 27773f0a83dSXin LI#define mvhline_set(y,x,c,n) mvwhline_set(stdscr,(y),(x),(c),(n)) 27873f0a83dSXin LI#define mvin_wch(y,x,c) mvwin_wch(stdscr,(y),(x),(c)) 27973f0a83dSXin LI#define mvin_wchnstr(y,x,c,n) mvwin_wchnstr(stdscr,(y),(x),(c),(n)) 28073f0a83dSXin LI#define mvin_wchstr(y,x,c) mvwin_wchstr(stdscr,(y),(x),(c)) 28173f0a83dSXin LI#define mvinnwstr(y,x,c,n) mvwinnwstr(stdscr,(y),(x),(c),(n)) 28273f0a83dSXin LI#define mvins_nwstr(y,x,t,n) mvwins_nwstr(stdscr,(y),(x),(t),(n)) 28373f0a83dSXin LI#define mvins_wch(y,x,c) mvwins_wch(stdscr,(y),(x),(c)) 28473f0a83dSXin LI#define mvins_wstr(y,x,t) mvwins_wstr(stdscr,(y),(x),(t)) 28573f0a83dSXin LI#define mvinwstr(y,x,c) mvwinwstr(stdscr,(y),(x),(c)) 28673f0a83dSXin LI#define mvvline_set(y,x,c,n) mvwvline_set(stdscr,(y),(x),(c),(n)) 28739f2269fSPeter Wemm 28873f0a83dSXin LI#define mvwadd_wch(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : wadd_wch((win),(c))) 28973f0a83dSXin LI#define mvwadd_wchnstr(win,y,x,s,n) (wmove(win,(y),(x)) == ERR ? ERR : wadd_wchnstr((win),(s),(n))) 29073f0a83dSXin LI#define mvwadd_wchstr(win,y,x,s) (wmove(win,(y),(x)) == ERR ? ERR : wadd_wchstr((win),(s))) 29173f0a83dSXin LI#define mvwaddnwstr(win,y,x,wstr,n) (wmove(win,(y),(x)) == ERR ? ERR : waddnwstr((win),(wstr),(n))) 29273f0a83dSXin LI#define mvwaddwstr(win,y,x,wstr) (wmove(win,(y),(x)) == ERR ? ERR : waddwstr((win),(wstr))) 29373f0a83dSXin LI#define mvwget_wch(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : wget_wch((win),(c))) 29473f0a83dSXin LI#define mvwget_wstr(win,y,x,t) (wmove(win,(y),(x)) == ERR ? ERR : wget_wstr((win),(t))) 29573f0a83dSXin LI#define mvwgetn_wstr(win,y,x,t,n) (wmove(win,(y),(x)) == ERR ? ERR : wgetn_wstr((win),(t),(n))) 29673f0a83dSXin LI#define mvwhline_set(win,y,x,c,n) (wmove(win,(y),(x)) == ERR ? ERR : whline_set((win),(c),(n))) 29773f0a83dSXin LI#define mvwin_wch(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : win_wch((win),(c))) 29873f0a83dSXin LI#define mvwin_wchnstr(win,y,x,c,n) (wmove(win,(y),(x)) == ERR ? ERR : win_wchnstr((win),(c),(n))) 29973f0a83dSXin LI#define mvwin_wchstr(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : win_wchstr((win),(c))) 30073f0a83dSXin LI#define mvwinnwstr(win,y,x,c,n) (wmove(win,(y),(x)) == ERR ? ERR : winnwstr((win),(c),(n))) 30173f0a83dSXin LI#define mvwins_nwstr(win,y,x,t,n) (wmove(win,(y),(x)) == ERR ? ERR : wins_nwstr((win),(t),(n))) 30273f0a83dSXin LI#define mvwins_wch(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : wins_wch((win),(c))) 30373f0a83dSXin LI#define mvwins_wstr(win,y,x,t) (wmove(win,(y),(x)) == ERR ? ERR : wins_wstr((win),(t))) 30473f0a83dSXin LI#define mvwinwstr(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : winwstr((win),(c))) 30573f0a83dSXin LI#define mvwvline_set(win,y,x,c,n) (wmove(win,(y),(x)) == ERR ? ERR : wvline_set((win),(c),(n))) 30639f2269fSPeter Wemm 3074a1a9510SRong-En Fan#endif /* NCURSES_NOMACROS */ 3084a1a9510SRong-En Fan 3094a1a9510SRong-En Fan#if defined(TRACE) || defined(NCURSES_TEST) 3104a1a9510SRong-En Fanextern NCURSES_EXPORT(const char *) _nc_viswbuf(const wchar_t *); 3114a1a9510SRong-En Fanextern NCURSES_EXPORT(const char *) _nc_viswibuf(const wint_t *); 3124a1a9510SRong-En Fan#endif 3134a1a9510SRong-En Fan 31406bfebdeSXin LI#endif /* NCURSES_WIDECHAR */ 315