OpenSolaris_b135/lib/libcurses/screen/llib-lcurses

/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License, Version 1.0 only
 * (the "License").  You may not use this file except in compliance
 * with the License.
 *
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 * or http://www.opensolaris.org/os/licensing.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 * If applicable, add the following below this CDDL HEADER, with the
 * fields enclosed by brackets "[]" replaced with your own identifying
 * information: Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 */
/* LINTLIBRARY */
/* PROTOLIB1 */

/*
 * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
 * Use is subject to license terms.
 */

#pragma ident	"%Z%%M%	%I%	%E% SMI"

#include <stdio.h>
#include <sys/types.h>
#include <stdarg.h>
#include <curses.h>
#include "term.h"
#include "print.h"

/*
 * usr/src/lib/libcurses/screen
 */

/* V2.__sscans.c */
int __sscans(WINDOW *win, char *fmt, ...);

/* V2._sprintw.c */
int _sprintw(WINDOW *win, char *fmt, ...);

/* V2.makenew.c */
WINDOW *makenew(int num_lines, int num_cols, int begy, int begx);

/* V3.m_addch.c */
int m_addch(int c);

/* V3.m_addstr.c */
int m_addstr(char *str);

/* V3.m_clear.c */
int m_clear(void);

/* V3.m_erase.c */
int m_erase(void);

/* V3.m_initscr.c */
WINDOW *m_initscr(void);

/* V3.m_move.c */
int m_move(int x, int y);

/* V3.m_newterm.c */
SCREEN *m_newterm(char *type, FILE *outfptr, FILE *infptr);

/* V3.m_refresh.c */
int m_refresh(void);

/* V3.upd_old_y.c */
void _update_old_y_area(WINDOW *win, int nlines, int ncols, int start_line,
				int start_col);

/* _addch.c */
int addch(chtype ch);

/* _addchnstr.c */
int addchnstr(chtype *s, int n);

/* _addchstr.c */
int addchstr(chtype *s);

/* _addnstr.c */
int addnstr(char *s, int n);

/* _addnwstr.c */
int addnwstr(wchar_t *s, int n);

/* _addstr.c */
int addstr(char *s);

/* _addwch.c */
int addwch(chtype ch);

/* _addwchnstr.c */
int addwchnstr(chtype *str, int n);

/* _addwchstr.c */
int addwchstr(chtype *str);

/* _addwstr.c */
int addwstr(wchar_t *ws);

/* _attroff.c */
int attroff(chtype at);

/* _attron.c */
int attron(chtype at);

/* _attrset.c */
int attrset(chtype at);

/* _beep.c */
int beep(void);

/* _bkgd.c */
int bkgd(chtype c);

/* _bkgdset.c */
void bkgdset(chtype c);

/* _border.c */
int border(chtype ls, chtype rs, chtype ts, chtype bs, chtype tl, chtype tr,
				chtype bl, chtype br);

/* _clear.c */
int clear(void);

/* _clrtobot.c */
int clrtobot(void);

/* _clrtoeol.c */
int clrtoeol(void);

/* _crmode.c */
#undef  crmode
int crmode(void);

/* _del_curterm.c */
int del_curterm(TERMINAL *terminal);

/* _delch.c */
int delch(void);

/* _deleteln.c */
int deleteln(void);

/* _echo.c */
int echo(void);

/* _echochar.c */
int echochar(chtype ch);

/* _echowchar.c */
int echowchar(chtype ch);

/* _erase.c */
int erase(void);

/* _fixterm.c */
int fixterm(void);

/* _flash.c */
int flash(void);

/* _garbagdlins.c */
int garbagedlines(WINDOW  *win, int start, int finish);

/* _garbagedwin.c */
int garbagedwin(WINDOW  *win);

/* _getch.c */
int getch(void);

/* _getnwstr.c */
int getnwstr(wchar_t *ws, int n);

/* _getstr.c */
int getstr(char *str);

/* _getwch.c */
int getwch(void);

/* _getwstr.c */
int getwstr(wchar_t *ws);

/* _halfdelay.c */
int halfdelay(int tens);

/* _hline.c */
int hline(chtype horch, int num_chars);

/* _inch.c */
chtype inch(void);

/* _inchnstr.c */
int inchnstr(chtype *s, int n);

/* _inchstr.c */
int inchstr(chtype *s);

/* _innstr.c */
int innstr(char *s, int n);

/* _innwstr.c */
int innwstr(wchar_t *ws, int n);

/* _insch.c */
int insch(chtype c);

/* _insdelln.c */
int insdelln(int id);

/* _insertln.c */
int insertln(void);

/* _insnstr.c */
int insnstr(char *s, int n);

/* _insnwstr.c */
int insnwstr(wchar_t *ws, int n);

/* _insstr.c */
int insstr(char *s);

/* _instr.c */
int instr(char *s);

/* _inswch.c */
int inswch(chtype c);

/* _inswstr.c */
int inswstr(wchar_t *ws);

/* _intrflush.c */
int intrflush(WINDOW *win, int flag);

/* _inwch.c */
chtype inwch(void);

/* _inwchnstr.c */
int inwchnstr(chtype *str, int n);

/* _inwchstr.c */
int inwchstr(chtype *str);

/* _inwstr.c */
int inwstr(wchar_t *ws);

/* _meta.c */
int meta(WINDOW *win, int flag);

/* _move.c */
int move(int y, int x);

/* _mvaddch.c */
int mvaddch(int y, int x, chtype ch);

/* _mvaddchnstr.c */
int mvaddchnstr(int y, int x, chtype *s, int n);

/* _mvaddchstr.c */
int mvaddchstr(int y, int x, chtype *s);

/* _mvaddnstr.c */
int mvaddnstr(int y, int x, char *s, int n);

/* _mvaddnwstr.c */
int mvaddnwstr(int y, int x, wchar_t *ws, int n);

/* _mvaddstr.c */
int mvaddstr(int y, int x, char *str);

/* _mvaddwch.c */
int mvaddwch(int y, int x, chtype ch);

/* _mvaddwchnstr.c */
int mvaddwchnstr(int y, int x, chtype *str, int n);

/* _mvaddwchstr.c */
int mvaddwchstr(int y, int x, chtype *s);

/* _mvaddwstr.c */
int mvaddwstr(int y, int x, wchar_t *ws);

/* _mvdelch.c */
int mvdelch(int y, int x);

/* _mvgetch.c */
int mvgetch(int y, int x);

/* _mvgetnwstr.c */
int mvgetnwstr(int y, int x, wchar_t *ws, int n);

/* _mvgetstr.c */
int mvgetstr(int y, int x, char *str);

/* _mvgetwch.c */
int mvgetwch(int y, int x);

/* _mvgetwstr.c */
int mvgetwstr(int y, int x, wchar_t *ws);

/* _mvhline.c */
int mvhline(int y, int x, chtype ch, int n);

/* _mvinch.c */
chtype mvinch(int y, int x);

/* _mvinchnstr.c */
int mvinchnstr(int y, int x, chtype *str, int n);

/* _mvinchstr.c */
int mvinchstr(int y, int x, chtype *str);

/* _mvinnstr.c */
int mvinnstr(int y, int x, char *s, int n);

/* _mvinnwstr.c */
int mvinnwstr(int y, int x, wchar_t *ws, int n);

/* _mvinsch.c */
int mvinsch(int y, int x, chtype ch);

/* _mvinsnstr.c */
int mvinsnstr(int y, int x, char *s, int n);

/* _mvinsnwstr.c */
int mvinsnwstr(int y, int x, wchar_t *ws, int n);

/* _mvinsstr.c */
int mvinsstr(int y, int x, char *s);

/* _mvinstr.c */
int mvinstr(int y, int x, char *s);

/* _mvinswch.c */
int mvinswch(int y, int x, chtype ch);

/* _mvinswstr.c */
int mvinswstr(int y, int x, wchar_t *ws);

/* _mvinwch.c */
chtype mvinwch(int y, int x);

/* _mvinwchnstr.c */
int mvinwchnstr(int y, int x, chtype *str, int n);

/* _mvinwchstr.c */
int mvinwchstr(int y, int x, chtype *str);

/* _mvinwstr.c */
int mvinwstr(int y, int x, wchar_t *ws);

/* _mvvline.c */
int mvvline(int y, int x, chtype c, int n);

/* _mvwaddch.c */
int mvwaddch(WINDOW *win, int y, int x, chtype ch);

/* _mvwaddchnst.c */
int mvwaddchnstr(WINDOW *win, int y, int x, chtype *ch, int n);

/* _mvwaddchstr.c */
int mvwaddchstr(WINDOW *win, int y, int x, chtype *ch);

/* _mvwaddnstr.c */
int mvwaddnstr(WINDOW *win, int y, int x, char *c, int n);

/* _mvwaddnwstr.c */
int mvwaddnwstr(WINDOW *win, int y, int x, wchar_t *wc, int n);

/* _mvwaddstr.c */
int mvwaddstr(WINDOW *win, int y, int x, char *str);

/* _mvwaddwch.c */
int mvwaddwch(WINDOW *win, int y, int x, chtype ch);

/* _mvwaddwchnstr.c */
int mvwaddwchnstr(WINDOW *win, int y, int x, chtype *str, int n);

/* _mvwaddwchstr.c */
int mvwaddwchstr(WINDOW *win, int y, int x, chtype *str);

/* _mvwaddwstr.c */
int mvwaddwstr(WINDOW *win, int y, int x, wchar_t *wc);

/* _mvwdelch.c */
int mvwdelch(WINDOW *win, int y, int x);

/* _mvwgetch.c */
int mvwgetch(WINDOW *win, int y, int x);

/* _mvwgetnwstr.c */
int mvwgetnwstr(WINDOW *win, int y, int x, wchar_t *ws, int n);

/* _mvwgetstr.c */
int mvwgetstr(WINDOW *win, int y, int x, char *str);

/* _mvwgetwch.c */
int mvwgetwch(WINDOW *win, int y, int x);

/* _mvwgetwstr.c */
int mvwgetwstr(WINDOW *win, int y, int x, wchar_t *ws);

/* _mvwhline.c */
int mvwhline(WINDOW *win, int y, int x, chtype c, int n);

/* _mvwinch.c */
chtype mvwinch(WINDOW *win, int y, int x);

/* _mvwinchnst.c */
int mvwinchnstr(WINDOW *win, int y, int x, chtype *s, int n);

/* _mvwinchstr.c */
int mvwinchstr(WINDOW *win, int y, int x, chtype *str);

/* _mvwinnstr.c */
int mvwinnstr(WINDOW *win, int y, int x, char *str, int n);

/* _mvwinnwstr.c */
int mvwinnwstr(WINDOW *win, int y, int x, wchar_t *ws, int n);

/* _mvwinsch.c */
int mvwinsch(WINDOW *win, int y, int x, chtype c);

/* _mvwinsnstr.c */
int mvwinsnstr(WINDOW *win, int y, int x, char *str, int n);

/* _mvwinsnwstr.c */
int mvwinsnwstr(WINDOW *win, int y, int x, wchar_t *ws, int n);

/* _mvwinsstr.c */
int mvwinsstr(WINDOW *win, int y, int x, char *str);

/* _mvwinstr.c */
int mvwinstr(WINDOW *win, int y, int x, char *str);

/* _mvwinswch.c */
int mvwinswch(WINDOW *win, int y, int x, chtype c);

/* _mvwinswstr.c */
int mvwinswstr(WINDOW *win, int y, int x, wchar_t *ws);

/* _mvwinwch.c */
chtype mvwinwch(WINDOW *win, int y, int x);

/* _mvwinwchnstr.c */
int mvwinwchnstr(WINDOW *win, int y, int x, chtype *str, int n);

/* _mvwinwchstr.c */
int mvwinwchstr(WINDOW *win, int y, int x, chtype *str);

/* _mvwinwstr.c */
int mvwinwstr(WINDOW *win, int y, int x, wchar_t *ws);

/* _mvwvline.c */
int mvwvline(WINDOW *win, int y, int x, chtype c, int n);

/* _nl.c */
int nl(void);

/* _nocrmode.c */
#undef  nocrmode
int nocrmode(void);

/* _noecho.c */
int noecho(void);

/* _nonl.c */
int nonl(void);

/* _noqiflush.c */
void noqiflush(void);

/* _overlay.c */
int overlay(WINDOW *src, WINDOW *dst);

/* _overwrite.c */
int overwrite(WINDOW *src, WINDOW *dst);

/* _qiflush.c */
void qiflush(void);

/* _refresh.c */
int refresh(void);

/* _resetterm.c */
int resetterm(void);

/* _saveterm.c */
int saveterm(void);

/* _scr_init.c */
int scr_init(char *file);

/* _scr_restore.c */
int scr_restore(char *file);

/* _scr_set.c */
int scr_set(char *file);

/* _scrl.c */
int scrl(int n);

/* _scroll.c */
int scroll(WINDOW *win);

/* _set_curterm.c */
TERMINAL *set_curterm(TERMINAL *newterminal);

/* _set_term.c */
SCREEN *set_term(SCREEN *screen);

/* _setscrreg.c */
int setscrreg(int t, int b);

/* _slk_init.c */
int slk_init(int f);

/* _standend.c */
int standend(void);

/* _standout.c */
int standout(void);

/* _subpad.c */
WINDOW *subpad(WINDOW *win, int l, int nc, int by, int bx);

/* _timeout.c */
void timeout(int tm);

/* _touchline.c */
int touchline(WINDOW *win, int y, int n);

/* _unctrl.c */
char *unctrl(int ch);

/* _vline.c */
int vline(chtype vertch, int num_chars);

/* _waddchstr.c */
int waddchstr(WINDOW *win, chtype *str);

/* _waddstr.c */
int waddstr(WINDOW *win, char *str);

/* _waddwchstr.c */
int waddwchstr(WINDOW *win, chtype *str);

/* _waddwstr.c */
int waddwstr(WINDOW *win, wchar_t *ws);

/* _wclear.c */
int wclear(WINDOW *win);

/* _wdeleteln.c */
int wdeleteln(WINDOW *win);

/* _werase.c */
int werase(WINDOW *win);

/* _winsertln.c */
int winsertln(WINDOW *win);

/* _winsstr.c */
int winsstr(WINDOW *win, char *str);

/* _winswstr.c */
int winswstr(WINDOW *win, wchar_t *ws);

/* _winwchstr.c */
int winwchstr(WINDOW *win, chtype *str);

/* _wstandend.c */
int wstandend(WINDOW *win);

/* _wstandout.c */
int wstandout(WINDOW *win);

/* baudrate.c */
int baudrate(void);

/* can_change.c */
bool can_change_color(void);

/* cbreak.c */
int cbreak(void);

/* chkinput.c */
int _chkinput(void);

/* clearok.c */
int clearok(WINDOW *win, bool bf);

/* color_cont.c */
int color_content(short color, short *r, short *g, short *b);

/* copywin.c */
int copywin(WINDOW *Srcwin, WINDOW *Dstwin, int minRowSrc, int minColSrc,
			int minRowDst, int minColDst, int maxRowDst,
			int maxColDst, int over_lay);

/* curs_set.c */
int curs_set(int visibility);

/* curserr.c */
void curserr(void);

/* curses.c */

/* def_prog.c */
int def_prog_mode(void);

/* delay.c */
int _delay(int delay, int (*outc)(char));

/* delay_out.c */
int delay_output(int ms);

/* delkey.c */
int delkey(char *sends, int keyval);

/* delkeymap.c */
void delkeymap(TERMINAL *terminal);

/* delscreen.c */
void delscreen(SCREEN *screen);

/* delterm.c */
int delterm(TERMINAL *terminal);

/* delwin.c */
int delwin(WINDOW *win);

/* derwin.c */
WINDOW *derwin(WINDOW *win, int num_lines, int nc, int by, int bx);

/* doupdate.c */
int doupdate(void);

/* draino.c */
int draino(int ms);

/* dupwin.c */
WINDOW *dupwin(WINDOW *win);

/* endwin.c */
int isendwin(void);
int endwin(void);
int force_doupdate(void);

/* erasechar.c */
char erasechar(void);

/* flushinp.c */
int flushinp(void);

/* getattrs.c */
chtype getattrs(WINDOW *win);

/* getbegyx.c */
int getbegy(WINDOW *win);
int getbegx(WINDOW *win);

/* getbkgd.c */
chtype getbkgd(WINDOW *win);

/* getmaxyx.c */
int getmaxy(WINDOW *win);
int getmaxx(WINDOW *win);

/* getparyx.c */
int getpary(WINDOW *win);
int getparx(WINDOW *win);

/* getsyx.c */
int _getsyx(int *yp, int *xp);

/* gettmode.c */
int gettmode(void);

/* getwin.c */
WINDOW *getwin(FILE *filep);

/* getyx.c */
int getcury(WINDOW *win);
int getcurx(WINDOW *win);

/* has_colors.c */
bool has_colors(void);

/* has_ic.c */
int has_ic(void);

/* has_il.c */
int has_il(void);

/* idcok.c */
void idcok(WINDOW *win, bool bf);

/* idlok.c */
int idlok(WINDOW *win, bool bf);

/* immedok.c */
void immedok(WINDOW *win, bool bf);

/* init_acs.c */
int init_acs(void);

/* init_color.c */
int init_color(short color, short r, short g, short b);

/* init_costs.c */
void _init_costs(void);
int _countchar(void);

/* init_pair.c */
int init_pair(short pair, short f, short b);
void _init_HP_pair(short pair, short f, short b);

/* is_wintou.c */
int is_wintouched(WINDOW *win);

/* is_linetou.c */
int is_linetouched(WINDOW *win, int line);

/* keyname.c */
char *keyname(int key);

/* keypad.c */
int keypad(WINDOW *win, bool bf);

/* killchar.c */
char killchar(void);

/* leaveok.c */
int leaveok(WINDOW *win, bool bf);

/* longname.c */
char *longname(void);

/* makenew.c */
WINDOW *_makenew(int nlines, int ncols, int begy, int begx);

/* mbaddch.c */
int _mbclrch(WINDOW *win, int y, int x);
int _mbvalid(WINDOW *win);
int _mbaddch(WINDOW *win, chtype a, chtype b);

/* mbcharlen.c */
int mbcharlen(char *sp);

/* mbdisplen.c */
int mbdisplen(char *sp);

/* mbgetwidth.c */
void mbgetwidth(void);
int mbeucw(int c);
int mbscrw(int c);
int wcscrw(wchar_t wc);

/* mbinch.c */
char *wmbinch(WINDOW *win, int y, int x);

/* mbinsshift.c */
int _mbinsshift(WINDOW *win, int len);

/* mbmove.c */
int wmbmove(WINDOW *win, int y, int x);

/* mbstowcs.c */
size_t _curs_mbstowcs(wchar_t *pwcs, const char *s, size_t n);

/* mbtowc.c */
int _curs_mbtowc(wchar_t *wchar, const char *s, size_t n);

/* mbtranslate.c */
char *_strcode2byte(wchar_t *code, char *b, int n);
wchar_t *_strbyte2code(char *code, wchar_t *byte, int n);

/* memSset.c */
void memSset(chtype *s, chtype c, int n);

/* meta.c */
int _meta(int bf);

/* mouse.c */
int mouse_set(long mbe);
int mouse_on(long mbe);
int mouse_off(long mbe);
int request_mouse_pos(void);
void wmouse_position(WINDOW *win, int *x, int *y);
int map_button(unsigned long a);
unsigned long getmouse(void);
unsigned long getbmap(void);

/* mvcur.c */
int mvcur(int cury, int curx, int newy, int newx);

/* mvderwin.c */
int mvderwin(WINDOW *win, int pary, int parx);

/* mvprintw.c */
int mvprintw(int y, int x, ...);

/* mvscanw.c */
int mvscanw(int y, int x, ...);

/* mvwin.c */
int mvwin(WINDOW *win, int by, int bx);

/* mvwprintw.c */
int mvwprintw(WINDOW *win, int y, int x, ...);

/* mvwscanw.c */
int mvwscanw(WINDOW *win, int y, int x, ...);

/* napms.c */
int napms(int ms);

/* newkey.c */
int newkey(char *rcvchars, short keyval, bool macro);

/* newpad.c */
WINDOW *newpad(int l, int nc);

/* newscreen.c */
int filter(void);
SCREEN *newscreen(char *type, int lsize, int csize, int tabsize, FILE *outfptr,
			FILE *infptr);

/* newwin.c */
WINDOW *newwin(int nlines, int ncols, int by, int bx);
int _image(WINDOW *win);

/* nocbreak.c */
int nocbreak(void);

/* nodelay.c */
int nodelay(WINDOW *win, bool bf);

/* noraw.c */
int noraw(void);

/* notimeout.c */
int notimeout(WINDOW *win, bool bf);

/* outch.c */
int _outch(char c);
int _outwch(chtype c);

/* overlap.c */
int _overlap(WINDOW *Srcwin, WINDOW *Dstwin, int Overlay);

/* pair_cont.c */
int pair_content(short pair, short *f, short *b);

/* pechowchar.c */
int pechowchar(WINDOW *pad, chtype ch);

/* pnoutref.c */
int pnoutrefresh(WINDOW *pad, int pby, int pbx, int sby, int sbx,
				int sey, int sex);

/* prefresh.c */
int prefresh(WINDOW *pad, int pminy, int pminx, int sminy, int sminx,
				int smaxy, int smaxx);
int _prefresh(int (*func)(WINDOW *), WINDOW *pad, int pminy, int pminx,
			int sminy, int sminx, int smaxy, int smaxx);
int _padjust(WINDOW *pad, int pminy, int pminx, int sminy, int sminx,
				int smaxy, int smaxx);

/* printw.c */
int printw(char *fmt, ...);

/* putwin.c */
int putwin(WINDOW *win, FILE *filep);

/* quick_echo.c */
int _quick_echo(WINDOW *win, chtype ch);

/* raw.c */
int raw(void);

/* redrawwin.c */
int redrawwin(WINDOW *win);

/* reset_sh.c */
int reset_shell_mode(void);

/* resetty.c */
int resetty(void);

/* restart.c */
int restartterm(char * term, int filenum, int *errret);

/* ring.c */
int _ring(bool bf);

/* ripoffline.c */
int ripoffline(int line, int (*init)(WINDOW *, int));

/* savetty.c */
int savetty(void);

/* scanw.c */
int scanw(char *fmt, ...);

/* scr_all.c */
int _scr_all(char *file, int which);

/* scr_dump.c */
int scr_dump(char *file);

/* scr_ll_dump.c */
int scr_ll_dump(FILE *filep);

/* scr_reset.c */
int scr_reset(FILE *filep, int type);

/* scrollok.c */
int scrollok(WINDOW *win, bool bf);

/* setcurscreen.c */
SCREEN *setcurscreen(SCREEN *new);

/* setcurterm.c */
TERMINAL *setcurterm(TERMINAL *newterminal);

/* setecho.c */
int _setecho(int bf);

/* setkeymap.c */
int setkeymap(void);

/* setnonl.c */
int _setnonl(int bf);

/* setqiflush.c */
void _setqiflush(int yes);

/* setsyx.c */
int setsyx(int y, int x);

/* setupterm.c */
int setupterm(char *term, int filenum, int *errret);
void _blast_keys(TERMINAL *terminal);
int reset_prog_mode(void);
int def_shell_mode(void);

/* slk_atroff.c */
int slk_attroff(chtype a);

/* slk_atron.c */
int slk_attron(chtype a);

/* slk_atrset.c */
int slk_attrset(chtype a);

/* slk_clear.c */
int slk_clear(void);

/* slk_label.c */
char *slk_label(int n);

/* slk_noutref.c */
int slk_noutrefresh(void);

/* slk_refresh.c */
int slk_refresh(void);
int _slk_update(void);

/* slk_restore.c */
int slk_restore(void);

/* slk_set.c */
int slk_set(int n, char *lab, int f);

/* slk_start.c */
int slk_start(int ng, int *gp);

/* slk_touch.c */
int slk_touch(void);

/* start_col.c */
int start_color(void);

/* subwin.c */
WINDOW *subwin(WINDOW *win, int l, int nc, int by, int bx);

/* syncok.c */
int syncok(WINDOW *win, bool bf);

/* tcsearch.c */
int _tcsearch(char *cap, short offsets[], char *names[], int size, int n);

/* termattrs.c */
chtype termattrs(void);

/* termcap.c */
int tgetent(char *bp, char *name);
int tgetflag(char *tcstr);
int tgetnum(char *tcstr);
char *tgetstr(char *tcstr, char **area);

/* termerr.c */
void termerr(void);

/* termname.c */
char *termname(void);

/* tgetch.c */
int tgetch(int interpret);

/* tgetwch.c */
wchar_t tgetwch(int cntl);

/* tgoto.c */
char *tgoto(char *cap, int col, int row);

/* tifget.c */
int tifgetflag(char *tistr);
int tifgetnum(char *tistr);
char *tifgetstr(char *tistr);

/* tifnames.c */

/* tiget.c */
int tigetflag(char *tistr);
int tigetnum(char *tistr);
char *tigetstr(char *tistr);

/* tinames.c */

/* tinputfd.c */
void tinputfd(int fd);

/* tnames.c */

/* touchwin.c */
int touchwin(WINDOW *win);

/* tparm.c */
char *tparm(char *instring, long fp1, long fp2, long p3, long p4, long p5,
					long p6, long p7, long p8, long p9);
char *_branchto(char *cp, char to);

/* tputs.c */
int tputs(char *cp, int affcnt, int (*outc)(char));

/* trace.c */
int traceon(void);
int traceoff(void);

/* tstp.c */
void _tstp(int dummy);
void _ccleanup(int signo);

/* ttimeout.c */
int ttimeout(int delay);

/* typeahead.c */
int typeahead(int fd);

/* unctrl.c */

/* ungetch.c */
int ungetch(int ch);

/* ungetwch.c */
int ungetwch(wchar_t code);

/* untouchwin.c */
int untouchwin(WINDOW *win);

/* use_env.c */
void use_env(int bf);

/* vidupdate.c */
void vidupdate(chtype newmode, chtype oldmode, int (*outc)(char));
int _change_video(chtype newmode, chtype oldmode, int (*outc)(char),
					bool color_terminal);
void _change_color(short newcolor, short oldcolor, int (*outc)(char));

/* vsscanf.c */
int _vsscanf(char *buf, char *fmt, va_list ap);

/* vwprintw.c */
int vwprintw(WINDOW *win, char *fmt, va_list ap);

/* vwscanw.c */
int vwscanw(WINDOW *win, char *fmt, va_list ap);

/* waddchnstr.c */
int waddchnstr(WINDOW *win, chtype *string, int ncols);

/* waddnstr.c */
int waddnstr(WINDOW *win, char *tstr, int i);

/* waddnwstr.c */
int waddnwstr(WINDOW *win, wchar_t *code, int n);

/* waddwch.c */
int waddwch(WINDOW *win, chtype c);

/* waddwchnstr.c */
int waddwchnstr(WINDOW *win, chtype *string, int ncols);

/* wadjcurspos.c */
int wadjcurspos(WINDOW *win);

/* wbkgd.c */
int wbkgd(WINDOW *win, chtype nbkgd);

/* wbkgdset.c */
void wbkgdset(WINDOW *win, chtype c);

/* wborder.c */
int wborder(WINDOW *win, chtype ls, chtype rs, chtype ts, chtype bs,
				chtype tl, chtype tr, chtype bl, chtype br);

/* wclrtobot.c */
int wclrtobot(WINDOW *win);

/* wclrtoeol.c */
int wclrtoeol(WINDOW *win);

/* wcstombs.c */
size_t _curs_wcstombs(char *s, const wchar_t *pwcs, size_t n);

/* wctomb.c */
int _curs_wctomb(char *s, const wchar_t wchar);

/* wdelch.c */
int wdelch(WINDOW *win);

/* wechowchar.c */
int wechowchar(WINDOW *win, chtype ch);

/* wgetch.c */
int wgetch(WINDOW *win);

/* wgetstr.c */
int wgetstr(WINDOW *win, char *str);
int wgetnstr(WINDOW *win, char *str, int n);

/* wgetwch.c */
int wgetwch(WINDOW *win);

/* wgetwstr.c */
int wgetwstr(WINDOW *win, wchar_t *str);
int wgetnwstr(WINDOW *win, wchar_t *str, int n);

/* whline.c */
int whline(WINDOW *win, chtype ch, int num_chars);

/* winch.c */
chtype winch(WINDOW *win);

/* winchnstr.c */
int winchnstr(WINDOW *win, chtype *string, int ncols);

/* winchstr.c */
int winchstr(WINDOW *win, chtype *string);

/* winnstr.c */
int winnstr(WINDOW *win, char *string, int ncols);

/* winnwstr.c */
int winnwstr(WINDOW *win, wchar_t *wstr, int ncols);

/* winsch.c */
int winsch(WINDOW *win, chtype c);

/* winsdelln.c */
int winsdelln(WINDOW *win, int id);

/* winsnstr.c */
int winsnstr(WINDOW *win, char *tsp, int n);

/* winsnwstr.c */
int winsnwstr(WINDOW *win, wchar_t *code, int n);

/* winstr.c */
int winstr(WINDOW *win, char *str);

/* winswch.c */
int winswch(WINDOW *win, chtype c);

/* winwch.c */
chtype winwch(WINDOW *win);

/* winwchnstr.c */
int winwchnstr(WINDOW *win, chtype *string, int ncols);

/* winwstr.c */
int winwstr(WINDOW *win, wchar_t *wstr);

/* wmove.c */
int wmove(WINDOW *win, int y, int x);

/* wmovenextch.c */
int wmovenextch(WINDOW *win);

/* wmoveprevch.c */
int wmoveprevch(WINDOW *win);

/* wnoutrefresh.c */
int wnoutrefresh(WINDOW *win);

/* wprintw.c */
int wprintw(WINDOW *win, ...);

/* wredrawln.c */
int wredrawln(WINDOW *win, int begline, int numlines);

/* wrefresh.c */
int wrefresh(WINDOW *win);

/* wscanw.c */
int wscanw(WINDOW *win, ...);

/* wscrl.c */
int wscrl(WINDOW *win, int n);

/* wsetscrreg.c */
int wsetscrreg(WINDOW *win, int topy, int boty);

/* wsyncdown.c */
void wsyncdown(WINDOW *win);

/* wsyncup.c */
void wsyncup(WINDOW *win);
void wcursyncup(WINDOW *win);

/* wtimeout.c */
void wtimeout(WINDOW *win, int tm);

/* wtouchln.c */
int wtouchln(WINDOW *win, int y, int n, int changed);

/* wvline.c */
int wvline(WINDOW *win, chtype vertch, int num_chars);

/* _box.c */
/* really box32 */
int box(WINDOW *win, chtype v, chtype h);

/* V3.box.c */
#undef box
int box(WINDOW *win, _ochtype v, _ochtype h);

/* _newterm.c */
/* really newterm32 */
SCREEN *newterm(char *type, FILE *fout, FILE *fin);

/* V3.newterm.c */
#undef newterm
SCREEN *newterm(char *type, FILE *outfptr, FILE *infptr);

/* setterm.c */
#undef  setterm
int setterm(char *name);

/* pechochar.c */
/* really p32echochar */
int pechochar(WINDOW *win, chtype c);

/* V3.pechochar.c */
#undef pechochar
int pechochar(WINDOW *win, _ochtype c);

/* waddch.c */
/* really w32addch */
int waddch(WINDOW *win, chtype c);

/* V3.waddch.c */
#undef waddch
int waddch(WINDOW *win, _ochtype c);

/* wattroff.c */
/* really w32attroff */
int wattroff(WINDOW *win, chtype attrs);

/* V3.wattroff.c */
#undef wattroff
int wattroff(WINDOW *win, _ochtype attrs);

/* wattron.c */
/* really w32attron */
int wattron(WINDOW *win, chtype attrs);

/* V3.wattron.c */
#undef wattron
int wattron(WINDOW *win, _ochtype attrs);

/* wattrset.c */
/* really w32attrset */
int wattrset(WINDOW *win, chtype attrs);

/* V3.wattrset.c */
#undef wattrset
int wattrset(WINDOW *win, _ochtype attrs);

/* wechochar.c */
/* really w32echochar */
int wechochar(WINDOW *win, chtype c);

/* V3.wechochar.c */
#undef wechochar
int wechochar(WINDOW *win, _ochtype c);

/* winsch.c */
/* really w32insch */
int winsch(WINDOW *win,  chtype c);

/* V3.winsch.c */
#undef winsch
int winsch(WINDOW *win, _ochtype c);

/* putp.c */
int _outchar(char ch);
int putp(char *str);
/* really vid32attr */
int vidattr(chtype newmode);

/* V3.vidattr.c */
#undef vidattr
int vidattr(_ochtype a);

/* vidputs.c */
/* really vid32puts */
int vidputs(chtype a, int (*b)(char));

/* V3.vidputs.c */
#undef vidputs
int vidputs(_ochtype a, int (*o)(char));

/* initscr.c */
/* really initscr32 */
WINDOW *initscr(void);

/* V3.initscr.c */
#undef initscr
WINDOW *initscr(void);